From 2c98a799bb00e2f336cca1ee0ffccb58248dadf8 Mon Sep 17 00:00:00 2001 From: Agent Date: Wed, 1 Apr 2026 00:35:59 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20V9=E8=BF=81=E7=A7=BB=E4=BD=BF=E7=94=A8DO?= =?UTF-8?q?=E5=9D=97=E5=A4=84=E7=90=86=E5=A4=96=E9=94=AE=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V9__fix_product_foreign_key.sql | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/resources/db/migration/V9__fix_product_foreign_key.sql b/src/main/resources/db/migration/V9__fix_product_foreign_key.sql index b30c80c..d78b91c 100644 --- a/src/main/resources/db/migration/V9__fix_product_foreign_key.sql +++ b/src/main/resources/db/migration/V9__fix_product_foreign_key.sql @@ -1,5 +1,4 @@ -- 修改商品表外键约束,级联删除(库存、库存流水) --- 但订单明细不级联删除,因为已冗余保存商品信息 ALTER TABLE stock DROP CONSTRAINT IF EXISTS stock_product_id_fkey; ALTER TABLE stock ADD CONSTRAINT stock_product_id_fkey FOREIGN KEY (product_id) REFERENCES products(product_id) ON DELETE CASCADE; @@ -8,7 +7,13 @@ ALTER TABLE stock_flow DROP CONSTRAINT IF EXISTS stock_flow_product_id_fkey; ALTER TABLE stock_flow ADD CONSTRAINT stock_flow_product_id_fkey FOREIGN KEY (product_id) REFERENCES products(product_id) ON DELETE CASCADE; --- 订单明细不再级联删除(已冗余保存商品信息) -ALTER TABLE order_items DROP CONSTRAINT IF EXISTS order_items_product_id_fkey; +-- 订单明细不级联删除(已冗余保存商品信息) +-- 如果约束已存在则修改,不存在则忽略 +DO $$ +BEGIN + IF EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE constraint_name = 'order_items_product_id_fkey') 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