Files
attractor/attractor-back/sql/u_center_20260407.sql

85 lines
4.4 KiB
MySQL
Raw Normal View History

2026-04-07 11:18:02 +08:00
-- 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用户设备关联表';