From b341c02a619d332f19d1c4e2032d84ecde1258da Mon Sep 17 00:00:00 2001 From: Nick Zeng Date: Thu, 29 Jan 2026 14:22:22 +0800 Subject: [PATCH] add created_date to order_items --- ..._add_created_date_to_order_items_table.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 backend/migrations/2026_01_29_141057_add_created_date_to_order_items_table.php diff --git a/backend/migrations/2026_01_29_141057_add_created_date_to_order_items_table.php b/backend/migrations/2026_01_29_141057_add_created_date_to_order_items_table.php new file mode 100644 index 0000000..daac044 --- /dev/null +++ b/backend/migrations/2026_01_29_141057_add_created_date_to_order_items_table.php @@ -0,0 +1,52 @@ +timestampTz('created_date') + ->after('platform_order_id') + ->comment('订单创建时间(冗余存储,用于分区)'); + }); + + // 从关联的 orders 表填充 created_date + Schema::getConnection()->statement(' + UPDATE order_items + SET created_date = orders.created_date + FROM orders + WHERE order_items.order_id = orders.id + '); + + // 设置为非空 + Schema::table('order_items', function (Blueprint $table) { + $table->timestampTz('created_date')->nullable(false)->change(); + }); + + // 添加索引 + Schema::table('order_items', function (Blueprint $table) { + $table->index('created_date', 'order_items_created_date_idx'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('order_items', function (Blueprint $table) { + $table->dropIndex('order_items_created_date_idx'); + $table->dropColumn('created_date'); + }); + } +};