005_inquiry_quotation_select_supplier_price_source.sql 1.7 KB

1234567891011121314151617181920212223242526272829303132
  1. -- ----------------------------
  2. -- Migration: inquiry/quotation select supplier -> price list source fields
  3. -- Date: 2026-04-03
  4. -- Notes:
  5. -- - Add source linkage fields on biz_price_list (+ his table)
  6. -- - Add helpful indexes for query patterns
  7. -- ----------------------------
  8. -- 1) biz_price_list: add source fields
  9. ALTER TABLE `biz_price_list`
  10. ADD COLUMN `inquiry_id` varchar(32) DEFAULT NULL COMMENT '来源询价单ID' AFTER `supplier_id`,
  11. ADD COLUMN `quotation_id` varchar(32) DEFAULT NULL COMMENT '来源报价单ID' AFTER `inquiry_id`,
  12. ADD COLUMN `source_type` varchar(20) DEFAULT NULL COMMENT '来源类型: quotation_select/manual' AFTER `quotation_id`;
  13. -- 2) biz_price_list_his: keep same fields for traceability
  14. ALTER TABLE `biz_price_list_his`
  15. ADD COLUMN `inquiry_id` varchar(32) DEFAULT NULL COMMENT '来源询价单ID' AFTER `supplier_id`,
  16. ADD COLUMN `quotation_id` varchar(32) DEFAULT NULL COMMENT '来源报价单ID' AFTER `inquiry_id`,
  17. ADD COLUMN `source_type` varchar(20) DEFAULT NULL COMMENT '来源类型' AFTER `quotation_id`;
  18. -- 3) Indexes
  19. -- price list: active list per region + recent
  20. CREATE INDEX `idx_price_list_region_status` ON `biz_price_list` (`region_id`, `status`, `is_del`);
  21. CREATE INDEX `idx_price_list_inquiry` ON `biz_price_list` (`inquiry_id`, `is_del`);
  22. CREATE INDEX `idx_price_list_quotation` ON `biz_price_list` (`quotation_id`, `is_del`);
  23. -- inquiry: list per region with published first + recent
  24. CREATE INDEX `idx_inquiry_region_status_create_at` ON `biz_inquiry` (`region_id`, `status`, `create_at`);
  25. -- quotation: latest quotation per supplier within inquiry
  26. CREATE INDEX `idx_quotation_inquiry_supplier_create_at` ON `biz_quotation` (`inquiry_id`, `supplier_id`, `create_at`);