This commit is contained in:
2025-12-02 13:36:09 +08:00
parent ee6dd64f98
commit 94718edd6b
97 changed files with 570 additions and 579 deletions

View File

@@ -5,22 +5,24 @@ CREATE SCHEMA IF NOT EXISTS sys;
-- 用户表
DROP TABLE IF EXISTS sys.tb_sys_user CASCADE;
CREATE TABLE sys.tb_sys_user (
optsn varchar(50) NOT NULL, -- 流水号
user_id varchar(50) NOT NULL, -- 用户ID
password varchar(128) NOT NULL, -- 密码(建议存储 bcrypt/argon2 哈希)
email varchar(100), -- 电子邮件
phone varchar(20), -- 电话号码
wechat_id varchar(50), -- 微信ID
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间(使用带时区时间)
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护
delete_time timestamptz DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除(使用 boolean
status integer NOT NULL DEFAULT 1, -- 状态
optsn VARCHAR(50) NOT NULL, -- 流水号
user_id VARCHAR(50) NOT NULL, -- 用户ID
usercode VARCHAR(100) DEFAULT NULL, -- 用户code。sso同步数据获取
password VARCHAR(128) NOT NULL, -- 密码(建议存储 bcrypt/argon2 哈希)
email VARCHAR(100), -- 电子邮件
phone VARCHAR(20), -- 电话号码
wechat_id VARCHAR(50), -- 微信ID
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间(使用带时区时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除(使用 BOOLEAN
status INTEGER NOT NULL DEFAULT 1, -- 状态
PRIMARY KEY (user_id),
UNIQUE (optsn),
UNIQUE (email),
UNIQUE (phone),
UNIQUE (wechat_id)
UNIQUE (wechat_id),
UNIQUE (usercode)
);
CREATE INDEX idx_tb_sys_user_phone ON sys.tb_sys_user USING btree (phone);
@@ -48,20 +50,19 @@ COMMENT ON COLUMN sys.tb_sys_user.status IS '状态';
-- 用户信息表
DROP TABLE IF EXISTS sys.tb_sys_user_info CASCADE;
CREATE TABLE sys.tb_sys_user_info (
optsn varchar(50) NOT NULL, -- 流水号
user_id varchar(50) NOT NULL, -- 用户ID
avatar varchar(255), -- 头像
gender integer DEFAULT 0, -- 性别
family_name varchar(50), --
given_name varchar(50), --
full_name varchar(100), -- 全名
level integer DEFAULT 1, -- 等级
id_card varchar(50), -- 身份证号
address varchar(255), -- 地址
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除
optsn VARCHAR(50) NOT NULL, -- 流水号
user_id VARCHAR(50) NOT NULL, -- 用户ID
avatar VARCHAR(255), -- 头像
gender INTEGER DEFAULT 0, -- 性别
username VARCHAR(100) NOT NULL -- 用户名
level INTEGER DEFAULT 1, -- 等级
id_card VARCHAR(50), -- 身份证号
address VARCHAR(255), -- 地址
remark VARCHAR(500) DEFAULT NULL -- 备注
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(触发器维护)
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (user_id),
UNIQUE (optsn)
);
@@ -70,12 +71,11 @@ COMMENT ON COLUMN sys.tb_sys_user_info.optsn IS '流水号';
COMMENT ON COLUMN sys.tb_sys_user_info.user_id IS '用户ID';
COMMENT ON COLUMN sys.tb_sys_user_info.avatar IS '头像';
COMMENT ON COLUMN sys.tb_sys_user_info.gender IS '性别';
COMMENT ON COLUMN sys.tb_sys_user_info.family_name IS '';
COMMENT ON COLUMN sys.tb_sys_user_info.given_name IS '';
COMMENT ON COLUMN sys.tb_sys_user_info.full_name IS '全名';
COMMENT ON COLUMN sys.tb_sys_user_info.username IS '用户名';
COMMENT ON COLUMN sys.tb_sys_user_info.level IS '等级';
COMMENT ON COLUMN sys.tb_sys_user_info.id_card IS '身份证号';
COMMENT ON COLUMN sys.tb_sys_user_info.address IS '地址';
COMMENT ON COLUMN sys.tb_sys_user_info.remark IS '备注';
COMMENT ON COLUMN sys.tb_sys_user_info.create_time IS '创建时间';
COMMENT ON COLUMN sys.tb_sys_user_info.update_time IS '更新时间';
COMMENT ON COLUMN sys.tb_sys_user_info.delete_time IS '删除时间';
@@ -84,19 +84,19 @@ COMMENT ON COLUMN sys.tb_sys_user_info.deleted IS '是否删除';
-- 登录日志表
DROP TABLE IF EXISTS sys.tb_sys_login_log CASCADE;
CREATE TABLE sys.tb_sys_login_log (
optsn varchar(50) NOT NULL, -- 流水号(作为主键)
user_id varchar(50) NOT NULL, -- 用户ID
username varchar(50) NOT NULL, -- 用户名
ip_address varchar(45), -- IP地址
ip_source varchar(100), -- IP来源
browser varchar(100), -- 浏览器
os varchar(100), -- 操作系统
password varchar(128), -- 密码(建议存储 bcrypt/argon2 哈希)
login_time timestamptz DEFAULT now(), -- 登录时间
status integer DEFAULT 1, -- 登录状态0失败 1成功
error_count integer DEFAULT 0, -- 错误次数
message varchar(255), -- 登录消息
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间
optsn VARCHAR(50) NOT NULL, -- 流水号(作为主键)
user_id VARCHAR(50) NOT NULL, -- 用户ID
username VARCHAR(50) NOT NULL, -- 用户名
ip_address VARCHAR(45), -- IP地址
ip_source VARCHAR(100), -- IP来源
browser VARCHAR(100), -- 浏览器
os VARCHAR(100), -- 操作系统
password VARCHAR(128), -- 密码(建议存储 bcrypt/argon2 哈希)
login_time TIMESTAMPTZ DEFAULT now(), -- 登录时间
status INTEGER DEFAULT 1, -- 登录状态0失败 1成功
error_count INTEGER DEFAULT 0, -- 错误次数
message VARCHAR(255), -- 登录消息
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
PRIMARY KEY (optsn)
);
-- B-tree 索引(显式指定 USING btreePostgres 默认即为 btree