diff --git a/src/main/resources/db/migration/V11__fix_order_item_foreign_key.sql b/src/main/resources/db/migration/V11__fix_order_item_foreign_key.sql new file mode 100644 index 0000000..e936e2b --- /dev/null +++ b/src/main/resources/db/migration/V11__fix_order_item_foreign_key.sql @@ -0,0 +1,4 @@ +-- 订单明细表外键移除级联删除(商品信息已冗余保存) +ALTER TABLE order_items DROP CONSTRAINT IF EXISTS order_items_product_id_fkey; +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 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 ca6567c..b30c80c 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,4 +1,5 @@ --- 修改商品表外键约束,级联删除 +-- 修改商品表外键约束,级联删除(库存、库存流水) +-- 但订单明细不级联删除,因为已冗余保存商品信息 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; @@ -7,6 +8,7 @@ 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; ALTER TABLE order_items ADD CONSTRAINT order_items_product_id_fkey - FOREIGN KEY (product_id) REFERENCES products(product_id) ON DELETE CASCADE; \ No newline at end of file + FOREIGN KEY (product_id) REFERENCES products(product_id); \ No newline at end of file