-- @SAFE -- ============================================================ -- 昂盛达上位机 MES 接口(v1.5)数据表结构补齐迁移 -- 适用:mes2 数据库「在线升级 / 数据库升级」功能(Admin -> 数据库升级) -- -- 重要说明(务必阅读): -- 1. 首行 '-- @SAFE' 使本文件以「容错模式」执行: -- 每条语句独立执行,列已存在时 ADD COLUMN 报错会被自动跳过, -- 因此本脚本可重复运行(幂等),不会因 "Duplicate column" 而整体失败。 -- 2. 不要使用 DELIMITER / 存储过程:在线升级器按 ';' 机械切分 SQL, -- 不识别 DELIMITER,存储过程会被拆坏导致语法错误。 -- 3. 不要写 USE <库名>:在线升级已连接到正确的业务库,写死库名反而会因 -- "Unknown database" 整文件失败。 -- -- 字段映射(接口字段名 -> 数据库实际列): -- status -> test_result -- device -> device_code -- test_time -> test_date -- project_name -> product_model -- 其余字段(tester/mo/site/station/work_order/group_name/running_time) -- 为接口新增列,直接补齐。 -- ============================================================ -- ===== 1. DGZXY_asd_test_record 补齐接口字段 ===== ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `tester` varchar(50) NOT NULL DEFAULT '' COMMENT '测试员'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `mo` varchar(50) NOT NULL DEFAULT '' COMMENT '制令单'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `site` varchar(100) NOT NULL DEFAULT '' COMMENT '工位'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `station` varchar(100) NOT NULL DEFAULT '' COMMENT '站点'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `work_order` varchar(50) NOT NULL DEFAULT '' COMMENT '工单'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `group_name` varchar(100) NOT NULL DEFAULT '' COMMENT '组别'; ALTER TABLE `DGZXY_asd_test_record` ADD COLUMN `running_time` varchar(50) NOT NULL DEFAULT '' COMMENT '运行时间'; -- ===== 2. DGZXY_asd_device 补齐接口字段 ===== ALTER TABLE `DGZXY_asd_device` ADD COLUMN `device_code` varchar(100) NOT NULL DEFAULT '' COMMENT '设备编码/序列号'; ALTER TABLE `DGZXY_asd_device` ADD COLUMN `group_name` varchar(100) NOT NULL DEFAULT '' COMMENT '组别'; ALTER TABLE `DGZXY_asd_device` ADD COLUMN `line_name` varchar(100) NOT NULL DEFAULT '' COMMENT '产线'; ALTER TABLE `DGZXY_asd_device` ADD COLUMN `station_code` varchar(100) NOT NULL DEFAULT '' COMMENT '工位编码'; ALTER TABLE `DGZXY_asd_device` ADD COLUMN `device_type` varchar(100) NOT NULL DEFAULT '' COMMENT '设备型号'; ALTER TABLE `DGZXY_asd_device` ADD COLUMN `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注'; -- ===== 3. 修正 token 列长度(避免 64 位 token 被 char(32) 截断导致校验失败) ===== -- MODIFY 幂等:重复执行同一定义不会报错 ALTER TABLE `DGZXY_asd_api_token` MODIFY `token` varchar(128) NOT NULL COMMENT 'Token值'; -- 完成标记(在线升级器会忽略结果集,仅作可读提示) SELECT 'ASD 接口迁移完成(SAFE 模式,已存在的列已自动跳过)' AS result;