From a2c6388e7367bd41f7ec99fec227a7de5c968831 Mon Sep 17 00:00:00 2001 From: WuYongJie <549727955@qq.com> Date: Wed, 9 Sep 2026 16:54:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E9=BD=90=E5=BF=AB=E9=80=92?= =?UTF-8?q?=E8=BF=90=E8=B4=B9=E6=B1=87=E6=80=BB=E8=A6=86=E7=9B=96=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=20(#145)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/upstream_mirrors.php | 4 +-- ...9_180000_index_courier_summary_lookups.php | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 database/migrations/2026_09_09_180000_index_courier_summary_lookups.php diff --git a/config/upstream_mirrors.php b/config/upstream_mirrors.php index 136f56b8..46592524 100644 --- a/config/upstream_mirrors.php +++ b/config/upstream_mirrors.php @@ -427,7 +427,7 @@ return [ 'jiansun.dbo.Jst_SendData_View_extension' => [ 'source_key' => 'jiansun', 'schema' => 'dbo', 'object' => 'Jst_SendData_View_extension', 'target' => 'js_jst_send_data_view_extension', 'keys' => ['Id'], 'watermark' => null, - 'indexes' => [['so_id', 'Id'], ['io_id', 'Id']], + 'indexes' => [['so_id', 'Id'], ['io_id', 'Id'], ['so_id', 'Id', 'io_id']], 'columns' => [ 'Id', 'io_id', 'qty', 'l', 'w', 'h', 'sku_ids', 'sku_name', 'so_id', 'shop_site', 'shop_name', 'shop_i_id', 'supplier_name', 'receiver_state', 'receiver_city', @@ -438,7 +438,7 @@ return [ 'jiansun.dbo.jst_salesOutboundInfo' => [ 'source_key' => 'jiansun', 'schema' => 'dbo', 'object' => 'jst_salesOutboundInfo', 'target' => 'js_jst_sales_outbound_info', 'keys' => ['Id'], 'watermark' => 'updateTime', - 'indexes' => [['io_id', 'Id']], + 'indexes' => [['io_id', 'Id'], ['io_id', 'Id', 'freight']], 'columns' => ['Id', 'io_id', 'modified', 'updateTime', 'f_weight', 'weight', 'f_freight', 'freight', 'pay_date', 'volume', 'f_volume'], ], 'jiansun.dbo.finance_boardDeduction' => ['source_key' => 'jiansun', 'schema' => 'dbo', 'object' => 'finance_boardDeduction', 'target' => 'js_finance_board_deduction', 'keys' => ['id']], diff --git a/database/migrations/2026_09_09_180000_index_courier_summary_lookups.php b/database/migrations/2026_09_09_180000_index_courier_summary_lookups.php new file mode 100644 index 00000000..11eb5183 --- /dev/null +++ b/database/migrations/2026_09_09_180000_index_courier_summary_lookups.php @@ -0,0 +1,33 @@ + ['idx_courier_extension_summary', ['so_id', 'Id', 'io_id']], + 'js_jst_sales_outbound_info' => ['idx_courier_outbound_summary', ['io_id', 'Id', 'freight']], + ]; + + public function up(): void + { + if (config('system_database.mode', 'bootstrap') === 'bootstrap') return; + $schema = Schema::connection((string) config('upstream_mirrors.connection', 'business_mirror')); + foreach (self::INDEXES as $table => [$name, $columns]) { + if (! $schema->hasTable($table) || $schema->hasIndex($table, $name)) continue; + $schema->table($table, static fn (Blueprint $blueprint) => $blueprint->index($columns, $name)); + } + } + + public function down(): void + { + if (config('system_database.mode', 'bootstrap') === 'bootstrap') return; + $schema = Schema::connection((string) config('upstream_mirrors.connection', 'business_mirror')); + foreach (self::INDEXES as $table => [$name]) { + if (! $schema->hasTable($table) || ! $schema->hasIndex($table, $name)) continue; + $schema->table($table, static fn (Blueprint $blueprint) => $blueprint->dropIndex($name)); + } + } +};