risk_work_report_duration.sql 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- =============================================================
  2. -- 风控平台 数据库增量脚本 作业上报-工期字段
  3. -- 适用版本: 风控平台 2026-07-07 之前的部署
  4. --
  5. -- 需求:
  6. -- 作业上报新增"工期"字段(单位:天),与开始/结束时间形成联动:
  7. -- - 录入工期 + 开始时间 → 自动计算结束时间
  8. -- - 修改开始/结束时间 → 自动重新计算工期
  9. --
  10. -- 本脚本特征:
  11. -- - 全部 SQL 幂等,可重复执行(基于 INFORMATION_SCHEMA 判断)
  12. -- - 新环境用 risk_control_platform.sql 部署;已有环境用本脚本增量升级
  13. -- - 不修改业务表已有数据,仅追加字段
  14. -- =============================================================
  15. SET NAMES utf8mb4;
  16. -- =============================================================
  17. -- 1. 作业上报表 risk_work_report 加 duration_days 字段
  18. -- =============================================================
  19. SET @sql = (SELECT IF(
  20. (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
  21. WHERE TABLE_SCHEMA = DATABASE()
  22. AND TABLE_NAME = 'risk_work_report'
  23. AND COLUMN_NAME = 'duration_days') = 0,
  24. 'ALTER TABLE `risk_work_report` ADD COLUMN `duration_days` INT DEFAULT NULL COMMENT ''工期(单位:天,与开始/结束时间联动计算)'' AFTER `work_end_time`',
  25. 'SELECT 1'));
  26. PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
  27. -- =============================================================
  28. -- 2. 验证清单(可手动 SELECT 确认)
  29. -- =============================================================
  30. -- SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT
  31. -- FROM INFORMATION_SCHEMA.COLUMNS
  32. -- WHERE TABLE_SCHEMA = DATABASE()
  33. -- AND TABLE_NAME = 'risk_work_report'
  34. -- AND COLUMN_NAME = 'duration_days';