fix_product_quantity_to_decimal.sql 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. -- =============================================
  2. -- 修复产品数量字段类型
  3. -- 将报价单、合同、商机产品的数量字段从INT改为DECIMAL
  4. -- 以支持小数数量(如化工产品1.2吨、2.5吨等)
  5. -- 作者: AI Assistant
  6. -- 日期: 2025-11-03
  7. -- =============================================
  8. -- 1. 修改报价单产品表 - 数量字段
  9. ALTER TABLE crm_quote_product
  10. MODIFY COLUMN quantity DECIMAL(20, 4) NOT NULL COMMENT '数量';
  11. -- 2. 修改合同产品表 - 数量和已交付数量字段
  12. ALTER TABLE crm_contract_product
  13. MODIFY COLUMN quantity DECIMAL(20, 4) NOT NULL COMMENT '数量',
  14. MODIFY COLUMN delivered_quantity DECIMAL(20, 4) DEFAULT 0 COMMENT '已交付数量';
  15. -- 3. 修改商机产品表 - 数量字段
  16. ALTER TABLE crm_opportunity_product
  17. MODIFY COLUMN quantity DECIMAL(20, 4) NOT NULL COMMENT '数量';
  18. -- 验证修改结果
  19. SELECT
  20. TABLE_NAME,
  21. COLUMN_NAME,
  22. COLUMN_TYPE,
  23. COLUMN_COMMENT
  24. FROM
  25. INFORMATION_SCHEMA.COLUMNS
  26. WHERE
  27. TABLE_SCHEMA = DATABASE()
  28. AND TABLE_NAME IN ('crm_quote_product', 'crm_contract_product', 'crm_opportunity_product')
  29. AND COLUMN_NAME IN ('quantity', 'delivered_quantity')
  30. ORDER BY
  31. TABLE_NAME, COLUMN_NAME;