-- ---------------------------- -- App端数据库表结构 (SQL Server版本) -- 适用于 RuoYi-Vue-Plus 5.X 版本 -- ---------------------------- -- 1、App端用户信息表 CREATE TABLE app_user ( user_id BIGINT NOT NULL, user_name NVARCHAR(30) NOT NULL, nick_name NVARCHAR(30) NOT NULL, phone NVARCHAR(11) DEFAULT '', email NVARCHAR(50) DEFAULT '', sex CHAR(1) DEFAULT '0', avatar BIGINT, password NVARCHAR(100) DEFAULT '', status CHAR(1) DEFAULT '0', del_flag CHAR(1) DEFAULT '0', login_ip NVARCHAR(128) DEFAULT '', login_date DATETIME2, register_time DATETIME2, create_by BIGINT, create_time DATETIME2, update_by BIGINT, update_time DATETIME2, remark NVARCHAR(500), CONSTRAINT PK_app_user PRIMARY KEY (user_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端用户信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_user'; EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'user_id'; EXEC sp_addextendedproperty 'MS_Description', '用户账号', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'account'; EXEC sp_addextendedproperty 'MS_Description', '用户昵称', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'nick_name'; EXEC sp_addextendedproperty 'MS_Description', '手机号码', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'phone'; EXEC sp_addextendedproperty 'MS_Description', '用户邮箱', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'email'; EXEC sp_addextendedproperty 'MS_Description', '用户性别(0男 1女 2未知)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'sex'; EXEC sp_addextendedproperty 'MS_Description', '头像地址', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'avatar'; EXEC sp_addextendedproperty 'MS_Description', '密码', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'password'; EXEC sp_addextendedproperty 'MS_Description', '帐号状态(0正常 1停用)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'status'; EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'del_flag'; EXEC sp_addextendedproperty 'MS_Description', '最后登录IP', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'login_ip'; EXEC sp_addextendedproperty 'MS_Description', '最后登录时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'login_date'; EXEC sp_addextendedproperty 'MS_Description', '注册时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'register_time'; EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'create_by'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'create_time'; EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'update_by'; EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'update_time'; EXEC sp_addextendedproperty 'MS_Description', '备注', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'remark'; INSERT INTO app_user VALUES (1, 'appuser', 'App测试用户', '15888888888', 'appuser@qq.com', '1', NULL, '$2a$10$7JB720yubVSOfvVMe6LeNOKgEoXAw7tCxJRET6pVuiDDz/LQ4Gqk.', '0', '0', '127.0.0.1', GETDATE(), GETDATE(), 1, GETDATE(), NULL, NULL, 'App端测试用户'); -- 2、App端角色信息表 CREATE TABLE app_role ( role_id BIGINT NOT NULL, role_name NVARCHAR(30) NOT NULL, role_key NVARCHAR(100) NOT NULL, role_sort INT NOT NULL, status CHAR(1) NOT NULL, del_flag CHAR(1) DEFAULT '0', create_by BIGINT, create_time DATETIME2, update_by BIGINT, update_time DATETIME2, remark NVARCHAR(500), CONSTRAINT PK_app_role PRIMARY KEY (role_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端角色信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_role'; EXEC sp_addextendedproperty 'MS_Description', 'App角色ID', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_id'; EXEC sp_addextendedproperty 'MS_Description', '角色名称', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_name'; EXEC sp_addextendedproperty 'MS_Description', '角色权限字符串', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_key'; EXEC sp_addextendedproperty 'MS_Description', '显示顺序', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_sort'; EXEC sp_addextendedproperty 'MS_Description', '角色状态(0正常 1停用)', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'status'; EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'del_flag'; EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'create_by'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'create_time'; EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'update_by'; EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'update_time'; EXEC sp_addextendedproperty 'MS_Description', '备注', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'remark'; INSERT INTO app_role VALUES (1, 'App普通用户', 'app_user', 1, '0', '0', 1, GETDATE(), NULL, NULL, 'App端普通用户'); INSERT INTO app_role VALUES (2, 'App VIP用户', 'app_vip', 2, '0', '0', 1, GETDATE(), NULL, NULL, 'App端VIP用户'); -- 3、App端用户和角色关联表 CREATE TABLE app_user_role ( user_id BIGINT NOT NULL, role_id BIGINT NOT NULL, CONSTRAINT PK_app_user_role PRIMARY KEY (user_id, role_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端用户和角色关联表', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role'; EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role', 'COLUMN', 'user_id'; EXEC sp_addextendedproperty 'MS_Description', 'App角色ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role', 'COLUMN', 'role_id'; INSERT INTO app_user_role VALUES (1, 1); -- 4、App端第三方登录授权表 CREATE TABLE app_social_auth ( id BIGINT NOT NULL, user_id BIGINT NOT NULL, platform NVARCHAR(255) NOT NULL, platform_uid NVARCHAR(255) NOT NULL, open_id NVARCHAR(255), union_id NVARCHAR(255), access_token NVARCHAR(MAX) NOT NULL, expire_in INT, refresh_token NVARCHAR(255), scope NVARCHAR(255), create_by BIGINT, create_time DATETIME2, update_by BIGINT, update_time DATETIME2, del_flag CHAR(1) DEFAULT '0', CONSTRAINT PK_app_social_auth PRIMARY KEY (id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端第三方登录授权表', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth'; EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'id'; EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'user_id'; EXEC sp_addextendedproperty 'MS_Description', '用户来源平台(wechat_mp:微信小程序 wechat_open:微信开放平台 qq:QQ weibo:微博)', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'platform'; EXEC sp_addextendedproperty 'MS_Description', '表示平台唯一用户标识', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'platform_uid'; EXEC sp_addextendedproperty 'MS_Description', '微信openid', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'open_id'; EXEC sp_addextendedproperty 'MS_Description', '微信unionid', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'union_id'; EXEC sp_addextendedproperty 'MS_Description', '用户的授权令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'access_token'; EXEC sp_addextendedproperty 'MS_Description', '用户的授权令牌的有效期', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'expire_in'; EXEC sp_addextendedproperty 'MS_Description', '刷新令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'refresh_token'; EXEC sp_addextendedproperty 'MS_Description', '授予的权限', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'scope'; EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'create_by'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'create_time'; EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'update_by'; EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'update_time'; EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'del_flag'; -- 5、App端登录日志表 CREATE TABLE app_login_log ( info_id BIGINT NOT NULL, user_name NVARCHAR(50) DEFAULT '', status CHAR(1) DEFAULT '0', ipaddr NVARCHAR(128) DEFAULT '', login_location NVARCHAR(255) DEFAULT '', browser NVARCHAR(50) DEFAULT '', os NVARCHAR(50) DEFAULT '', msg NVARCHAR(255) DEFAULT '', login_time DATETIME2, CONSTRAINT PK_app_login_log PRIMARY KEY (info_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端登录日志表', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log'; EXEC sp_addextendedproperty 'MS_Description', '访问ID', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'info_id'; EXEC sp_addextendedproperty 'MS_Description', '用户账号', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'user_name'; EXEC sp_addextendedproperty 'MS_Description', '登录状态(0成功 1失败)', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'status'; EXEC sp_addextendedproperty 'MS_Description', '登录IP地址', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'ipaddr'; EXEC sp_addextendedproperty 'MS_Description', '登录地点', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'login_location'; EXEC sp_addextendedproperty 'MS_Description', '浏览器类型', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'browser'; EXEC sp_addextendedproperty 'MS_Description', '操作系统', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'os'; EXEC sp_addextendedproperty 'MS_Description', '提示消息', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'msg'; EXEC sp_addextendedproperty 'MS_Description', '访问时间', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'login_time'; CREATE INDEX IX_app_login_log_status ON app_login_log (status); CREATE INDEX IX_app_login_log_login_time ON app_login_log (login_time); -- 6、App端操作日志记录 CREATE TABLE app_oper_log ( oper_id BIGINT NOT NULL, title NVARCHAR(50) DEFAULT '', business_type SMALLINT DEFAULT 0, method NVARCHAR(100) DEFAULT '', request_method NVARCHAR(10) DEFAULT '', oper_name NVARCHAR(50) DEFAULT '', oper_url NVARCHAR(255) DEFAULT '', oper_ip NVARCHAR(128) DEFAULT '', oper_location NVARCHAR(255) DEFAULT '', oper_param NVARCHAR(MAX) DEFAULT '', json_result NVARCHAR(MAX) DEFAULT '', status SMALLINT DEFAULT 0, error_msg NVARCHAR(MAX) DEFAULT '', oper_time DATETIME2, cost_time BIGINT DEFAULT 0, CONSTRAINT PK_app_oper_log PRIMARY KEY (oper_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端操作日志记录', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log'; EXEC sp_addextendedproperty 'MS_Description', '日志主键', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_id'; EXEC sp_addextendedproperty 'MS_Description', '模块标题', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'title'; EXEC sp_addextendedproperty 'MS_Description', '业务类型(0其它 1新增 2修改 3删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'business_type'; EXEC sp_addextendedproperty 'MS_Description', '方法名称', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'method'; EXEC sp_addextendedproperty 'MS_Description', '请求方式', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'request_method'; EXEC sp_addextendedproperty 'MS_Description', '操作人员', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_name'; EXEC sp_addextendedproperty 'MS_Description', '请求URL', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_url'; EXEC sp_addextendedproperty 'MS_Description', '主机地址', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_ip'; EXEC sp_addextendedproperty 'MS_Description', '操作地点', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_location'; EXEC sp_addextendedproperty 'MS_Description', '请求参数', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_param'; EXEC sp_addextendedproperty 'MS_Description', '返回参数', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'json_result'; EXEC sp_addextendedproperty 'MS_Description', '操作状态(0正常 1异常)', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'status'; EXEC sp_addextendedproperty 'MS_Description', '错误消息', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'error_msg'; EXEC sp_addextendedproperty 'MS_Description', '操作时间', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_time'; EXEC sp_addextendedproperty 'MS_Description', '消耗时间', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'cost_time'; CREATE INDEX IX_app_oper_log_business_type ON app_oper_log (business_type); CREATE INDEX IX_app_oper_log_status ON app_oper_log (status); CREATE INDEX IX_app_oper_log_oper_time ON app_oper_log (oper_time); -- 7、App端设备信息表 CREATE TABLE app_device ( device_id BIGINT NOT NULL, user_id BIGINT NOT NULL, device_type NVARCHAR(20) NOT NULL, device_name NVARCHAR(100) DEFAULT '', device_model NVARCHAR(100) DEFAULT '', device_brand NVARCHAR(50) DEFAULT '', os_version NVARCHAR(50) DEFAULT '', app_version NVARCHAR(50) DEFAULT '', push_token NVARCHAR(255) DEFAULT '', is_active CHAR(1) DEFAULT '1', last_active_time DATETIME2, create_time DATETIME2, update_time DATETIME2, CONSTRAINT PK_app_device PRIMARY KEY (device_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端设备信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_device'; EXEC sp_addextendedproperty 'MS_Description', '设备ID', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_id'; EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'user_id'; EXEC sp_addextendedproperty 'MS_Description', '设备类型(ios android h5)', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_type'; EXEC sp_addextendedproperty 'MS_Description', '设备名称', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_name'; EXEC sp_addextendedproperty 'MS_Description', '设备型号', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_model'; EXEC sp_addextendedproperty 'MS_Description', '设备品牌', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_brand'; EXEC sp_addextendedproperty 'MS_Description', '操作系统版本', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'os_version'; EXEC sp_addextendedproperty 'MS_Description', 'App版本', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'app_version'; EXEC sp_addextendedproperty 'MS_Description', '推送令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'push_token'; EXEC sp_addextendedproperty 'MS_Description', '是否活跃(0否 1是)', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'is_active'; EXEC sp_addextendedproperty 'MS_Description', '最后活跃时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'last_active_time'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'create_time'; EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'update_time'; CREATE INDEX IX_app_device_user_id ON app_device (user_id); CREATE INDEX IX_app_device_device_type ON app_device (device_type); -- 8、App端消息推送表 CREATE TABLE app_message ( message_id BIGINT NOT NULL, title NVARCHAR(100) NOT NULL, content NVARCHAR(MAX), message_type NVARCHAR(20) DEFAULT 'system', target_type NVARCHAR(20) DEFAULT 'all', target_ids NVARCHAR(1000) DEFAULT '', send_time DATETIME2, status CHAR(1) DEFAULT '0', create_by BIGINT, create_time DATETIME2, update_by BIGINT, update_time DATETIME2, CONSTRAINT PK_app_message PRIMARY KEY (message_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端消息推送表', 'SCHEMA', 'dbo', 'TABLE', 'app_message'; EXEC sp_addextendedproperty 'MS_Description', '消息ID', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'message_id'; EXEC sp_addextendedproperty 'MS_Description', '消息标题', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'title'; EXEC sp_addextendedproperty 'MS_Description', '消息内容', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'content'; EXEC sp_addextendedproperty 'MS_Description', '消息类型(system:系统消息 notice:通知 activity:活动)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'message_type'; EXEC sp_addextendedproperty 'MS_Description', '推送目标(all:全部用户 user:指定用户 role:指定角色)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'target_type'; EXEC sp_addextendedproperty 'MS_Description', '目标ID列表(用户ID或角色ID,逗号分隔)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'target_ids'; EXEC sp_addextendedproperty 'MS_Description', '发送时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'send_time'; EXEC sp_addextendedproperty 'MS_Description', '状态(0待发送 1已发送 2发送失败)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'status'; EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'create_by'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'create_time'; EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'update_by'; EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'update_time'; CREATE INDEX IX_app_message_message_type ON app_message (message_type); CREATE INDEX IX_app_message_status ON app_message (status); -- 9、App端用户消息读取记录表 CREATE TABLE app_user_message ( id BIGINT NOT NULL, user_id BIGINT NOT NULL, message_id BIGINT NOT NULL, is_read CHAR(1) DEFAULT '0', read_time DATETIME2, create_time DATETIME2, CONSTRAINT PK_app_user_message PRIMARY KEY (id) ); EXEC sp_addextendedproperty 'MS_Description', 'App端用户消息读取记录表', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message'; EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'id'; EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'user_id'; EXEC sp_addextendedproperty 'MS_Description', '消息ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'message_id'; EXEC sp_addextendedproperty 'MS_Description', '是否已读(0未读 1已读)', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'is_read'; EXEC sp_addextendedproperty 'MS_Description', '读取时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'read_time'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'create_time'; CREATE INDEX IX_app_user_message_user_id ON app_user_message (user_id); CREATE INDEX IX_app_user_message_message_id ON app_user_message (message_id); CREATE INDEX IX_app_user_message_is_read ON app_user_message (is_read); -- 10、App版本信息表 CREATE TABLE app_version ( version_id BIGINT NOT NULL, version_code INT NOT NULL, version_name NVARCHAR(20) NOT NULL, update_content NVARCHAR(MAX), download_url NVARCHAR(500) NOT NULL, is_force CHAR(1) DEFAULT '0', platform NVARCHAR(10) DEFAULT 'android', create_time DATETIME2, CONSTRAINT PK_app_version PRIMARY KEY (version_id) ); EXEC sp_addextendedproperty 'MS_Description', 'App版本信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_version'; EXEC sp_addextendedproperty 'MS_Description', '版本ID', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_id'; EXEC sp_addextendedproperty 'MS_Description', '版本号(数字)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_code'; EXEC sp_addextendedproperty 'MS_Description', '版本名(如1.0.0)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_name'; EXEC sp_addextendedproperty 'MS_Description', '更新内容', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'update_content'; EXEC sp_addextendedproperty 'MS_Description', '下载地址', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'download_url'; EXEC sp_addextendedproperty 'MS_Description', '是否强制更新(0否 1是)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'is_force'; EXEC sp_addextendedproperty 'MS_Description', '平台(android、ios)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'platform'; EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'create_time'; COMMIT;