liyong
2026-05-14 ff9cedf9f8093dc87e4974f9ba0c9e591ee6783b
feat(stock): 添加库存按仓库产品批次唯一约束

- 为库存表添加仓库ID字段
- 为入库记录表添加仓库ID字段
- 为出库记录表添加仓库ID字段
- 创建仓库ID、产品规格ID、批次号唯一索引
- 提供重复数据检查SQL语句
- 添加字段注释说明
已添加1个文件
22 ■■■■■ 文件已修改
doc/20260513_stock_inventory_warehouse_unique.sql 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/20260513_stock_inventory_warehouse_unique.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
-- åº“存按 ä»“库ID + äº§å“è§„æ ¼ID + æ‰¹æ¬¡å· å”¯ä¸€ çš„迁移脚本
-- æ‰§è¡Œå‰è¯·å…ˆå¤„理重复数据,并为历史数据补齐 warehouse_info_id。
-- 1. è¡¥å­—段
ALTER TABLE stock_inventory
    ADD COLUMN IF NOT EXISTS warehouse_info_id BIGINT NULL COMMENT '仓库id';
ALTER TABLE stock_in_record
    ADD COLUMN IF NOT EXISTS warehouse_info_id BIGINT NULL COMMENT '仓库id';
ALTER TABLE stock_out_record
    ADD COLUMN IF NOT EXISTS warehouse_info_id BIGINT NULL COMMENT '仓库id';
-- 2. æ£€æŸ¥é‡å¤æ•°æ®
SELECT warehouse_info_id, product_model_id, batch_no, COUNT(*) AS repeat_count
FROM stock_inventory
GROUP BY warehouse_info_id, product_model_id, batch_no
HAVING COUNT(*) > 1;
-- 3. å”¯ä¸€ç´¢å¼•
ALTER TABLE stock_inventory
    ADD UNIQUE KEY uk_stock_inventory_warehouse_product_batch (warehouse_info_id, product_model_id, batch_no);