-- ============================================================================= -- IT-2 增量补列(幂等):把 公寓端/04 表 4-5 / 4-7 的既定业务字段补齐到 IT-0 [推断] 表。 -- 前提:先执行 00_common.sql 建立 apt_add_column_if_missing。 -- 纪律:Q-20 / Q-40 / Q-43 / Q-48 未决项仍不新增列、不启用(表 13-10 用 JSON 兜底); -- 本次只补设计文档已经明确列出的字段,不改 59 张表的口径与主键/唯一键/索引。 -- ============================================================================= -- 交路(表 4-5):jch/qd/zd 复用 route_name/start_station/end_station,enabled 复用 state, -- sourceVersion 复用 source_version;其余 4 个字段为设计既定但 IT-0 未建的列。 CALL apt_add_column_if_missing('apt_master_route', 'jcsj', 'jcsj DATETIME(3) NULL COMMENT ''叫乘时刻基线;权威值恒由公寓复算(D8)'''); CALL apt_add_column_if_missing('apt_master_route', 'lysj', 'lysj DATETIME(3) NULL COMMENT ''离寓时刻'''); CALL apt_add_column_if_missing('apt_master_route', 'cclx', 'cclx VARCHAR(32) NULL COMMENT ''车次类型'''); CALL apt_add_column_if_missing('apt_master_route', 'bz', 'bz VARCHAR(512) NULL COMMENT ''备注'''); -- 房间运行时事实(表 4-7 #4 本地可编辑属性);快照字段仍在 apt_master_room,不在此表。 CALL apt_add_column_if_missing('gy_rooms', 'room_type', 'room_type VARCHAR(32) NULL COMMENT ''本地房型'''); CALL apt_add_column_if_missing('gy_rooms', 'room_dept', 'room_dept VARCHAR(64) NULL COMMENT ''所属部门'''); CALL apt_add_column_if_missing('gy_rooms', 'room_order', 'room_order INT NOT NULL DEFAULT 0 COMMENT ''展示排序'''); CALL apt_add_column_if_missing('gy_rooms', 'room_dir', 'room_dir VARCHAR(32) NULL COMMENT ''朝向'''); CALL apt_add_column_if_missing('gy_rooms', 'room_face', 'room_face VARCHAR(32) NULL COMMENT ''方位'''); CALL apt_add_column_if_missing('gy_rooms', 'bed_numbers', 'bed_numbers VARCHAR(64) NULL COMMENT ''床位号集合(本地展示)'''); -- 修复历史执行中因 Windows PowerShell 5.1 ASCII 管道损坏的列注释。 -- 只重置元数据,列类型/默认值/主键/索引口径不变;可重复执行。 ALTER TABLE apt_master_route MODIFY COLUMN jcsj DATETIME(3) NULL COMMENT '叫乘时刻基线;权威值恒由公寓复算(D8)', MODIFY COLUMN lysj DATETIME(3) NULL COMMENT '离寓时刻', MODIFY COLUMN cclx VARCHAR(32) NULL COMMENT '车次类型', MODIFY COLUMN bz VARCHAR(512) NULL COMMENT '备注'; ALTER TABLE gy_rooms MODIFY COLUMN room_type VARCHAR(32) NULL COMMENT '本地房型', MODIFY COLUMN room_dept VARCHAR(64) NULL COMMENT '所属部门', MODIFY COLUMN room_order INT NOT NULL DEFAULT 0 COMMENT '展示排序', MODIFY COLUMN room_dir VARCHAR(32) NULL COMMENT '朝向', MODIFY COLUMN room_face VARCHAR(32) NULL COMMENT '方位', MODIFY COLUMN bed_numbers VARCHAR(64) NULL COMMENT '床位号集合(本地展示)'; SELECT '=== IT-2 补列结果(含注释,中文不应为问号)===' AS section; SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND ((TABLE_NAME = 'apt_master_route' AND COLUMN_NAME IN ('jcsj','lysj','cclx','bz')) OR (TABLE_NAME = 'gy_rooms' AND COLUMN_NAME IN ('room_type','room_dept','room_order','room_dir','room_face','bed_numbers'))) ORDER BY TABLE_NAME, COLUMN_NAME;