CREATE TABLE `serbia_users`( `user_id` BIGINT PRIMARY KEY NOT NULL COMMENT '主键Id', `login_name` VARCHAR(64) DEFAULT NULL COMMENT '用户登录名称', `password` VARCHAR(64) NOT NULL COMMENT '密码', `show_name` VARCHAR(32) DEFAULT NULL COMMENT '昵称', `head_image_url` VARCHAR(512) DEFAULT NULL COMMENT '用户头像的Url', `user_status` INT NOT NULL COMMENT '状态(0: 正常 1: 锁定)', `email` VARCHAR(512) DEFAULT NULL COMMENT '用户邮箱', `mobile` VARCHAR(64) NOT NULL COMMENT '用户手机', `sex` CHAR(1) DEFAULT NULL COMMENT '性别(1:男 2:女 3:其它)', `birthday` DATE DEFAULT NULL COMMENT '生日', `deleted_flag` INT NOT NULL COMMENT '删除标记(1: 正常 -1: 已删除)', `country_code` VARCHAR(10) DEFAULT NULL COMMENT '手机号所属国家code', `address` VARCHAR(255) DEFAULT NULL COMMENT '住址', `job` VARCHAR(255) DEFAULT NULL COMMENT '职业', `personal_sign` VARCHAR(255) DEFAULT NULL COMMENT '个性签名', `create_user_id` BIGINT NOT NULL COMMENT '创建者Id', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user_id` BIGINT NOT NULL COMMENT '更新者Id', `update_time` DATETIME NOT NULL COMMENT '最后更新时间', UNIQUE INDEX `uk_login_name`(`login_name` ASC) , INDEX `idx_status`(`user_status` ASC) )COMMENT='用户表'; CREATE TABLE `serbia_country_code` ( `id` bigint NOT NULL COMMENT '主键', `english_name` varchar(255) DEFAULT NULL COMMENT '英文名称', `country` varchar(255) DEFAULT NULL COMMENT '国家/地区', `country_code` varchar(20) DEFAULT NULL COMMENT '国家代码', `area_code` varchar(10) DEFAULT NULL COMMENT '区号', `pin_yin` varchar(100) DEFAULT NULL COMMENT '拼音', `first_code` varchar(10) DEFAULT NULL COMMENT '拼音首字母', `data_state` tinyint NULL DEFAULT NULL COMMENT '数据状态', `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建用户', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_user_id` bigint NULL DEFAULT NULL COMMENT '更新用户', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家地区代码表' ROW_FORMAT = Dynamic; CREATE TABLE `serbia_messages`( message_id BIGINT PRIMARY KEY COMMENT '主键id', sender_id BIGINT NOT NULL COMMENT '发送人id', receiver_id BIGINT NOT NULL COMMENT '接收者id', group_id BIGINT DEFAULT NULL COMMENT '群组id', messsage_type INT NOT NULL COMMENT '消息类型 1文字 2图片 3文件', message_content TEXT NOT NULL COMMENT '消息内容', create_time DATETIME NOT NULL COMMENT '创建时间', update_user_id BIGINT NOT NULL COMMENT '更新用户', update_time DATETIME NOT NULL COMMENT '更新时间', data_state TINYINT(1) NOT NULL COMMENT '删除标记 1正常 -1删除', INDEX `idx_sender_receiver`(`sender_id`, `receiver_id`) , INDEX `idx_group_id`(`group_id`) )COMMENT='消息表'; CREATE TABLE `serbia_groups`( group_id BIGINT PRIMARY KEY COMMENT '主键id', group_owner_id BIGINT NOT NULL COMMENT '群主id', group_name VARCHAR(64) NOT NULL COMMENT '群聊名称', group_avatar VARCHAR(512) DEFAULT NULL COMMENT '群聊头像', is_private INT DEFAULT 0 COMMENT '是否公开 0私密 1公开', create_user_id BIGINT NOT NULL COMMENT '创建人', create_time DATETIME NOT NULL COMMENT '创建时间', update_user_id BIGINT NOT NULL COMMENT '更新用户', update_time DATETIME NOT NULL COMMENT '更新时间', data_state TINYINT(1) NOT NULL COMMENT '删除标记 1正常 -1删除', INDEX `idx_group_owner`(`group_owner_id`) )COMMENT='群组表'; CREATE TABLE `serbia_group_members`( id BIGINT PRIMARY KEY COMMENT '主键id', group_id BIGINT NOT NULL COMMENT '群聊id', user_id BIGINT NOT NULL COMMENT '用户id', group_role INT NOT NULL COMMENT '成员角色 1群主 2群成员', create_user_id BIGINT NOT NULL COMMENT '创建人', create_time DATETIME NOT NULL COMMENT '创建时间', update_user_id BIGINT NOT NULL COMMENT '更新用户', update_time DATETIME NOT NULL COMMENT '更新时间', data_state TINYINT(1) NOT NULL COMMENT '删除标记 1正常 -1删除', INDEX `idx_group_member`(`group_id`, `user_id`) )COMMENT='群组成员表';