-- App 业务独立库(用户/设备) -- 执行前请先确认数据库权限 CREATE DATABASE IF NOT EXISTS `u_center` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE `u_center`; -- ---------------------------- -- 1. App 用户表 -- ---------------------------- DROP TABLE IF EXISTS `u_user`; CREATE TABLE `u_user` ( `user_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID', `mobile` VARCHAR(20) NOT NULL COMMENT '手机号(登录账号)', `nick_name` VARCHAR(64) DEFAULT '' COMMENT '昵称', `avatar` VARCHAR(255) DEFAULT '' COMMENT '头像URL', `password_hash` VARCHAR(255) DEFAULT '' COMMENT '密码哈希(可空,支持验证码登录)', `status` CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', `last_login_ip` VARCHAR(64) DEFAULT '' COMMENT '最后登录IP', `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间', `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `remark` VARCHAR(500) DEFAULT '' COMMENT '备注', `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)', PRIMARY KEY (`user_id`), UNIQUE KEY `uk_u_user_mobile` (`mobile`), KEY `idx_u_user_status` (`status`), KEY `idx_u_user_del_flag` (`del_flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='App用户表'; -- ---------------------------- -- 2. App 设备表 -- ---------------------------- DROP TABLE IF EXISTS `u_device`; CREATE TABLE `u_device` ( `device_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '设备ID', `device_name` VARCHAR(100) NOT NULL COMMENT '设备名称', `device_sn` VARCHAR(64) NOT NULL COMMENT '设备SN/唯一编码', `device_type` VARCHAR(50) DEFAULT '' COMMENT '设备类型', `status` CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', `owner_user_id` BIGINT DEFAULT NULL COMMENT '归属用户ID', `bind_time` DATETIME DEFAULT NULL COMMENT '绑定时间', `last_connected_at` DATETIME DEFAULT NULL COMMENT '最近连接时间', `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `remark` VARCHAR(500) DEFAULT '' COMMENT '备注', `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)', PRIMARY KEY (`device_id`), UNIQUE KEY `uk_u_device_sn` (`device_sn`), KEY `idx_u_device_owner` (`owner_user_id`), KEY `idx_u_device_status` (`status`), KEY `idx_u_device_del_flag` (`del_flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='App设备表'; -- ---------------------------- -- 3. App 用户设备关系表(推荐) -- ---------------------------- DROP TABLE IF EXISTS `u_user_device`; CREATE TABLE `u_user_device` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` BIGINT NOT NULL COMMENT '用户ID', `device_id` BIGINT NOT NULL COMMENT '设备ID', `is_owner` CHAR(1) DEFAULT '0' COMMENT '是否主绑定人(0否 1是)', `status` CHAR(1) DEFAULT '0' COMMENT '关系状态(0正常 1解除)', `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `remark` VARCHAR(500) DEFAULT '' COMMENT '备注', `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)', PRIMARY KEY (`id`), UNIQUE KEY `uk_u_user_device` (`user_id`,`device_id`,`del_flag`), KEY `idx_u_user_device_user` (`user_id`), KEY `idx_u_user_device_device` (`device_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='App用户设备关联表';