-- 智电改造线路台账真实 ICC 同步:重建 electric_line 表结构(按 ICC DetectorVO) -- 1) 增列/删列/改可空(幂等);2) gateway_id 外键 → electric_gateway;3) 索引与注释同步 BEGIN; ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS imei VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS gateway_id BIGINT; ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS type_code VARCHAR(32); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS type_name VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS fire_system_code VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS fire_system_name VARCHAR(128); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS part_unit_loop_code VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS channel_no VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS channel_sn VARCHAR(64); ALTER TABLE electric_line ADD COLUMN IF NOT EXISTS produce_date VARCHAR(16); ALTER TABLE electric_line DROP COLUMN IF EXISTS icc_device_code; ALTER TABLE electric_line DROP COLUMN IF EXISTS building_id; ALTER TABLE electric_line DROP COLUMN IF EXISTS floor_no; ALTER TABLE electric_line DROP COLUMN IF EXISTS location; ALTER TABLE electric_line ALTER COLUMN equip_id DROP NOT NULL; ALTER TABLE electric_line ADD CONSTRAINT fk_line_gateway FOREIGN KEY (gateway_id) REFERENCES electric_gateway(id); DROP INDEX IF EXISTS idx_line_icc; CREATE INDEX IF NOT EXISTS idx_line_gateway ON electric_line (gateway_id); CREATE INDEX IF NOT EXISTS idx_line_imei ON electric_line (imei); COMMENT ON TABLE electric_line IS '智电改造线路信息表(ICC 探测器同步)'; COMMENT ON COLUMN electric_line.line_code IS '探测器编码(ICC detectorCode,唯一幂等键)'; COMMENT ON COLUMN electric_line.line_name IS '探测器名称(ICC detectorName)'; COMMENT ON COLUMN electric_line.imei IS '设备唯一标识码(ICC imei)'; COMMENT ON COLUMN electric_line.equip_id IS '客户设备 ID(→ customer_equipment,可空,同步不填充)'; COMMENT ON COLUMN electric_line.gateway_id IS '网关设备 ID(→ electric_gateway,由 parentCode↔device_code 匹配)'; COMMENT ON COLUMN electric_line.customer_id IS '客户 ID(orgCode→customer.icc_code 解析,逻辑隔离键)'; COMMENT ON COLUMN electric_line.type_code IS '探测器类型编码'; COMMENT ON COLUMN electric_line.type_name IS '探测器类型名称'; COMMENT ON COLUMN electric_line.fire_system_code IS '消防系统编码'; COMMENT ON COLUMN electric_line.fire_system_name IS '消防系统名称'; COMMENT ON COLUMN electric_line.part_unit_loop_code IS '探测器回路号'; COMMENT ON COLUMN electric_line.channel_no IS '探测器通道号'; COMMENT ON COLUMN electric_line.channel_sn IS '通道唯一标识码'; COMMENT ON COLUMN electric_line.produce_date IS '生产日期(yyyy-MM-dd)'; COMMENT ON COLUMN electric_line.status IS '探测器状态:1在线 0离线(detectorStatus 01→1 / 02→0)'; COMMENT ON COLUMN electric_line.synced_at IS 'ICC 同步时间'; COMMENT ON COLUMN electric_line.created_at IS '创建时间'; COMMIT;