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'); + }); + } +};