-- ============================================================ -- 补建 device + card_device_binding 表(mysql.sql 遗漏,含扩展字段) -- 全新部署时执行此文件后,无需再执行 device-info-fields.sql -- ============================================================ CREATE TABLE IF NOT EXISTS `device` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `store_org_id` BIGINT DEFAULT NULL COMMENT '门店组织ID', `mac` VARCHAR(64) DEFAULT NULL COMMENT '设备MAC', `device_sn` VARCHAR(64) DEFAULT NULL COMMENT '设备序列号', `wifi_mac` VARCHAR(64) DEFAULT NULL COMMENT 'WiFi MAC', `device_uid` VARCHAR(64) DEFAULT NULL COMMENT '设备唯一标识', `android_id` VARCHAR(64) DEFAULT NULL COMMENT 'Android ID(重装不变,工厂重置才变)', `manufacturer` VARCHAR(64) DEFAULT NULL COMMENT '设备厂商 Build.MANUFACTURER', `model` VARCHAR(128) DEFAULT NULL COMMENT '设备型号 Build.MODEL', `brand` VARCHAR(64) DEFAULT NULL COMMENT '设备品牌 Build.BRAND', `identifier_strategy` VARCHAR(32) DEFAULT NULL COMMENT '标识匹配策略', `device_name` VARCHAR(128) DEFAULT NULL COMMENT '设备名称', `device_model` VARCHAR(128) DEFAULT NULL COMMENT '设备型号(详细)', `ver_code` VARCHAR(32) DEFAULT NULL COMMENT '版本号', `ver_name` VARCHAR(64) DEFAULT NULL COMMENT '版本名', `android_version` VARCHAR(32) DEFAULT NULL COMMENT '安卓版本', `room_no` VARCHAR(32) DEFAULT NULL COMMENT '房间号', `last_heartbeat` DATETIME DEFAULT NULL COMMENT '最后心跳时间', `remark` VARCHAR(256) DEFAULT NULL COMMENT '备注', `status` VARCHAR(16) NOT NULL DEFAULT 'ACTIVE' COMMENT '状态:ACTIVE/DISABLED', `delete_flag` VARCHAR(8) NOT NULL DEFAULT 'UNDEL' COMMENT '删除标记:UNDEL/DEL', `created_at` DATETIME DEFAULT NULL COMMENT '创建时间', `updated_at` DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_mac` (`mac`), KEY `idx_device_uid` (`device_uid`), KEY `idx_device_sn` (`device_sn`), KEY `idx_android_id` (`android_id`), KEY `idx_store_org_id` (`store_org_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备表'; CREATE TABLE IF NOT EXISTS `card_device_binding` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `card_id` BIGINT DEFAULT NULL COMMENT '卡ID', `device_id` BIGINT DEFAULT NULL COMMENT '设备ID', `bind_source` VARCHAR(32) DEFAULT NULL COMMENT '绑定来源', `bind_at` DATETIME DEFAULT NULL COMMENT '绑定时间', `unbind_at` DATETIME DEFAULT NULL COMMENT '解绑时间', `status` VARCHAR(16) NOT NULL DEFAULT 'BOUND' COMMENT '绑定状态:BOUND/UNBOUND/STANDBY/FAILURE', `created_at` DATETIME DEFAULT NULL COMMENT '创建时间', `updated_at` DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_device_id` (`device_id`), KEY `idx_card_id` (`card_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='卡与设备绑定';