From 083a8cb4c7d6bfb1f183dcfb516341ea674ea59f Mon Sep 17 00:00:00 2001 From: Agent Date: Wed, 1 Apr 2026 00:42:41 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BAV12=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=AE=A2=E5=8D=95=E6=98=8E=E7=BB=86=E5=A4=96?= =?UTF-8?q?=E9=94=AE=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V12__fix_order_item_foreign_key_safe.sql | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/resources/db/migration/V12__fix_order_item_foreign_key_safe.sql diff --git a/src/main/resources/db/migration/V12__fix_order_item_foreign_key_safe.sql b/src/main/resources/db/migration/V12__fix_order_item_foreign_key_safe.sql new file mode 100644 index 0000000..23b66a7 --- /dev/null +++ b/src/main/resources/db/migration/V12__fix_order_item_foreign_key_safe.sql @@ -0,0 +1,15 @@ +-- 安全处理订单明细外键约束(使用IF EXISTS避免重复执行报错) +-- 先检查约束是否存在,存在则删除 +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.table_constraints + WHERE constraint_name = 'order_items_product_id_fkey' + AND table_name = 'order_items' + ) THEN + ALTER TABLE order_items DROP CONSTRAINT IF EXISTS order_items_product_id_fkey; + END IF; +END $$; +-- 重新添加外键约束(不级联删除) +ALTER TABLE order_items ADD CONSTRAINT order_items_product_id_fkey + FOREIGN KEY (product_id) REFERENCES products(product_id); \ No newline at end of file