2026-10-22-infusion-schedule-package.sql 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. -- 交付/输注计划及产品明细增加产品包装字段(透传至生产/质检出库工单展示)
  2. -- 可重复执行:已存在列则跳过
  3. SET @db := DATABASE();
  4. -- biz_pilot_infusion_schedule.package_id
  5. SET @exists := (
  6. SELECT COUNT(*) FROM information_schema.COLUMNS
  7. WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_pilot_infusion_schedule' AND COLUMN_NAME = 'package_id'
  8. );
  9. SET @sql := IF(@exists = 0,
  10. 'ALTER TABLE `biz_pilot_infusion_schedule` ADD COLUMN `package_id` VARCHAR(64) NULL COMMENT ''产品包装ID'' AFTER `spec_text`',
  11. 'SELECT 1');
  12. PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
  13. -- biz_pilot_infusion_schedule.package_text
  14. SET @exists := (
  15. SELECT COUNT(*) FROM information_schema.COLUMNS
  16. WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_pilot_infusion_schedule' AND COLUMN_NAME = 'package_text'
  17. );
  18. SET @sql := IF(@exists = 0,
  19. 'ALTER TABLE `biz_pilot_infusion_schedule` ADD COLUMN `package_text` VARCHAR(200) NULL COMMENT ''产品包装名称(冗余展示)'' AFTER `package_id`',
  20. 'SELECT 1');
  21. PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
  22. -- biz_pilot_infusion_schedule_product.package_id
  23. SET @exists := (
  24. SELECT COUNT(*) FROM information_schema.COLUMNS
  25. WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_pilot_infusion_schedule_product' AND COLUMN_NAME = 'package_id'
  26. );
  27. SET @sql := IF(@exists = 0,
  28. 'ALTER TABLE `biz_pilot_infusion_schedule_product` ADD COLUMN `package_id` VARCHAR(64) NULL COMMENT ''产品包装ID'' AFTER `spec_text`',
  29. 'SELECT 1');
  30. PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
  31. -- biz_pilot_infusion_schedule_product.package_text
  32. SET @exists := (
  33. SELECT COUNT(*) FROM information_schema.COLUMNS
  34. WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_pilot_infusion_schedule_product' AND COLUMN_NAME = 'package_text'
  35. );
  36. SET @sql := IF(@exists = 0,
  37. 'ALTER TABLE `biz_pilot_infusion_schedule_product` ADD COLUMN `package_text` VARCHAR(200) NULL COMMENT ''产品包装名称(冗余展示)'' AFTER `package_id`',
  38. 'SELECT 1');
  39. PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;