feat: sql for postgresql

This commit is contained in:
2025-12-07 23:47:14 +08:00
parent 07e49ea98f
commit b3ff2c4763

View File

@ -1,5 +1,5 @@
CREATE TABLE IF NOT EXISTS "sys_core_dictionary" ( CREATE TABLE IF NOT EXISTS sys_core_dictionary (
id VARCHAR(50) NOT NULL, id VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL, name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL, code VARCHAR(200) NOT NULL,
@ -9,7 +9,6 @@ CREATE TABLE IF NOT EXISTS "sys_core_dictionary" (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx_sys_core_dictionary_code ON sys_core_dictionary (code);
COMMENT ON TABLE sys_core_dictionary IS '字典'; COMMENT ON TABLE sys_core_dictionary IS '字典';
COMMENT ON COLUMN sys_core_dictionary.id IS '主键'; COMMENT ON COLUMN sys_core_dictionary.id IS '主键';
COMMENT ON COLUMN sys_core_dictionary.name IS '字典名称'; COMMENT ON COLUMN sys_core_dictionary.name IS '字典名称';
@ -31,7 +30,6 @@ CREATE TABLE IF NOT EXISTS sys_core_dictionary_item (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx1_sys_core_dictionary_item ON sys_core_dictionary_item (dictionary_id, parent_id, code);
COMMENT ON TABLE sys_core_dictionary_item IS '字典项'; COMMENT ON TABLE sys_core_dictionary_item IS '字典项';
COMMENT ON COLUMN sys_core_dictionary_item.id IS '主键'; COMMENT ON COLUMN sys_core_dictionary_item.id IS '主键';
COMMENT ON COLUMN sys_core_dictionary_item.parent_id IS '父级ID如果为空则为根节点'; COMMENT ON COLUMN sys_core_dictionary_item.parent_id IS '父级ID如果为空则为根节点';
@ -62,7 +60,6 @@ CREATE TABLE IF NOT EXISTS sys_core_sequence (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx1_sys_core_sequence ON sys_core_sequence (code);
COMMENT ON TABLE sys_core_sequence IS '序列'; COMMENT ON TABLE sys_core_sequence IS '序列';
COMMENT ON COLUMN sys_core_sequence.id IS '主键'; COMMENT ON COLUMN sys_core_sequence.id IS '主键';
COMMENT ON COLUMN sys_core_sequence.name IS '名称'; COMMENT ON COLUMN sys_core_sequence.name IS '名称';
@ -97,8 +94,8 @@ CREATE TABLE IF NOT EXISTS sys_rbac_region (
id VARCHAR(50) NOT NULL, id VARCHAR(50) NOT NULL,
parent_id VARCHAR(50), parent_id VARCHAR(50),
parent_code VARCHAR(50), parent_code VARCHAR(50),
root_id VARCHAR(50), root_id VARCHAR(50) NOT NULL,
root_code VARCHAR(50), root_code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL, name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL, code VARCHAR(200) NOT NULL,
ext_code VARCHAR(200), ext_code VARCHAR(200),
@ -108,8 +105,6 @@ CREATE TABLE IF NOT EXISTS sys_rbac_region (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx1_sys_rbac_region ON sys_rbac_region (parent_id, code);
CREATE UNIQUE INDEX uidx2_sys_rbac_region ON sys_rbac_region (parent_code, code);
COMMENT ON TABLE sys_rbac_region IS '区划项'; COMMENT ON TABLE sys_rbac_region IS '区划项';
COMMENT ON COLUMN sys_rbac_region.id IS '主键'; COMMENT ON COLUMN sys_rbac_region.id IS '主键';
COMMENT ON COLUMN sys_rbac_region.parent_id IS '上级区划ID'; COMMENT ON COLUMN sys_rbac_region.parent_id IS '上级区划ID';
@ -128,6 +123,8 @@ CREATE TABLE IF NOT EXISTS sys_rbac_department (
id VARCHAR(50) NOT NULL, id VARCHAR(50) NOT NULL,
region_id VARCHAR(50), region_id VARCHAR(50),
parent_id VARCHAR(50), parent_id VARCHAR(50),
root_id VARCHAR(50) NOT NULL,
root_code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL, name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL, code VARCHAR(200) NOT NULL,
sort INTEGER NOT NULL DEFAULT 0, sort INTEGER NOT NULL DEFAULT 0,
@ -136,11 +133,12 @@ CREATE TABLE IF NOT EXISTS sys_rbac_department (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx_sys_rbac_department_code ON sys_rbac_department (code);
COMMENT ON TABLE sys_rbac_department IS '部门表'; COMMENT ON TABLE sys_rbac_department IS '部门表';
COMMENT ON COLUMN sys_rbac_department.id IS '主键'; COMMENT ON COLUMN sys_rbac_department.id IS '主键';
COMMENT ON COLUMN sys_rbac_department.region_id IS '区划ID'; COMMENT ON COLUMN sys_rbac_department.region_id IS '区划ID';
COMMENT ON COLUMN sys_rbac_department.parent_id IS '上级部门ID'; COMMENT ON COLUMN sys_rbac_department.parent_id IS '上级部门ID';
COMMENT ON COLUMN sys_rbac_department.root_id IS '主区划ID';
COMMENT ON COLUMN sys_rbac_department.root_code IS '主区划代码';
COMMENT ON COLUMN sys_rbac_department.name IS '部门名称'; COMMENT ON COLUMN sys_rbac_department.name IS '部门名称';
COMMENT ON COLUMN sys_rbac_department.code IS '部门代码'; COMMENT ON COLUMN sys_rbac_department.code IS '部门代码';
COMMENT ON COLUMN sys_rbac_department.sort IS '部门排序'; COMMENT ON COLUMN sys_rbac_department.sort IS '部门排序';
@ -161,7 +159,6 @@ CREATE TABLE IF NOT EXISTS sys_rbac_role (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX uidx_sys_rbac_role_code ON sys_rbac_role (code);
COMMENT ON TABLE sys_rbac_role IS '角色表'; COMMENT ON TABLE sys_rbac_role IS '角色表';
COMMENT ON COLUMN sys_rbac_role.id IS '主键'; COMMENT ON COLUMN sys_rbac_role.id IS '主键';
COMMENT ON COLUMN sys_rbac_role.name IS '角色名称'; COMMENT ON COLUMN sys_rbac_role.name IS '角色名称';
@ -185,7 +182,6 @@ CREATE TABLE IF NOT EXISTS sys_rbac_user (
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz, update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE UNIQUE INDEX ui_sys_rbac_user_username ON sys_rbac_user (username);
COMMENT ON TABLE sys_rbac_user IS '用户表'; COMMENT ON TABLE sys_rbac_user IS '用户表';
COMMENT ON COLUMN sys_rbac_user.id IS '主键'; COMMENT ON COLUMN sys_rbac_user.id IS '主键';
COMMENT ON COLUMN sys_rbac_user.username IS '用户名称'; COMMENT ON COLUMN sys_rbac_user.username IS '用户名称';