Files
dolphin-backend/docs/sql/postgresql/dolphin.sql
2025-12-07 23:47:14 +08:00

221 lines
11 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE TABLE IF NOT EXISTS sys_core_dictionary (
id VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
type VARCHAR(50) NOT NULL,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_core_dictionary IS '字典';
COMMENT ON COLUMN sys_core_dictionary.id IS '主键';
COMMENT ON COLUMN sys_core_dictionary.name IS '字典名称';
COMMENT ON COLUMN sys_core_dictionary.code IS '字典代码';
COMMENT ON COLUMN sys_core_dictionary.type IS '字典类型: enum-枚举、tree-树型';
COMMENT ON COLUMN sys_core_dictionary.description IS '字典描述';
COMMENT ON COLUMN sys_core_dictionary.create_time IS '创建时间';
COMMENT ON COLUMN sys_core_dictionary.update_time IS '修改时间';
CREATE TABLE IF NOT EXISTS sys_core_dictionary_item (
id VARCHAR(50) NOT NULL,
dictionary_id VARCHAR(50) NOT NULL,
parent_id VARCHAR(50),
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_core_dictionary_item 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.dictionary_id IS '字典ID';
COMMENT ON COLUMN sys_core_dictionary_item.name IS '字典项名称';
COMMENT ON COLUMN sys_core_dictionary_item.code IS '字典项代码';
COMMENT ON COLUMN sys_core_dictionary_item.sort IS '字典项排序,升序排列';
COMMENT ON COLUMN sys_core_dictionary_item.description IS '字典项描述';
COMMENT ON COLUMN sys_core_dictionary_item.create_time IS '创建时间';
COMMENT ON COLUMN sys_core_dictionary_item.update_time IS '修改时间';
INSERT INTO sys_core_dictionary
VALUES ('019ac45a-124d-7fe6-9a03-b9b9c54aacd0', '表-字典-类型', 'table.sys_core_dictionary.type', 'enum');
INSERT INTO sys_core_dictionary_item
VALUES ('019ac45c-e548-7bf5-845f-702bc75ba8a4', '019ac45a-124d-7fe6-9a03-b9b9c54aacd0', NULL, '枚举', 'enum', 0),
('019ac45f-6a73-7dad-8334-1961f75ffc7d', '019ac45a-124d-7fe6-9a03-b9b9c54aacd0', NULL, '树型', 'tree', 1);
CREATE TABLE IF NOT EXISTS sys_core_sequence (
id VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
type VARCHAR(50) NOT NULL,
min_value BIGINT NOT NULL DEFAULT 0,
inc_value BIGINT NOT NULL DEFAULT 1,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_core_sequence IS '序列';
COMMENT ON COLUMN sys_core_sequence.id IS '主键';
COMMENT ON COLUMN sys_core_sequence.name IS '名称';
COMMENT ON COLUMN sys_core_sequence.code IS '代码';
COMMENT ON COLUMN sys_core_sequence.type IS '类型';
COMMENT ON COLUMN sys_core_sequence.min_value IS '最小值';
COMMENT ON COLUMN sys_core_sequence.inc_value IS '递增值';
COMMENT ON COLUMN sys_core_sequence.description IS '描述';
COMMENT ON COLUMN sys_core_sequence.create_time IS '创建时间';
COMMENT ON COLUMN sys_core_sequence.update_time IS '修改时间';
CREATE TABLE IF NOT EXISTS sys_core_sequence_item (
id VARCHAR(50) NOT NULL,
sequence_id VARCHAR(50) NOT NULL,
value BIGINT NOT NULL,
year INTEGER,
quarter INTEGER,
month INTEGER,
day INTEGER,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_core_sequence_item IS '序列项';
COMMENT ON COLUMN sys_core_sequence_item.id IS '主键';
COMMENT ON COLUMN sys_core_sequence_item.sequence_id IS '序列表主键';
COMMENT ON COLUMN sys_core_sequence_item.value IS '当前值';
COMMENT ON COLUMN sys_core_sequence_item.year IS '';
COMMENT ON COLUMN sys_core_sequence_item.quarter IS '';
COMMENT ON COLUMN sys_core_sequence_item.month IS '';
COMMENT ON COLUMN sys_core_sequence_item.day IS '';
CREATE TABLE IF NOT EXISTS sys_rbac_region (
id VARCHAR(50) NOT NULL,
parent_id VARCHAR(50),
parent_code VARCHAR(50),
root_id VARCHAR(50) NOT NULL,
root_code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
ext_code VARCHAR(200),
sort INTEGER NOT NULL DEFAULT 0,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_rbac_region 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_code IS '上级区划代码';
COMMENT ON COLUMN sys_rbac_region.root_id IS '主区划ID';
COMMENT ON COLUMN sys_rbac_region.root_code IS '主区划代码';
COMMENT ON COLUMN sys_rbac_region.name IS '区划名称';
COMMENT ON COLUMN sys_rbac_region.code IS '区划代码';
COMMENT ON COLUMN sys_rbac_region.ext_code IS '区划扩展代码';
COMMENT ON COLUMN sys_rbac_region.sort IS '区划排序';
COMMENT ON COLUMN sys_rbac_region.description IS '区划描述';
COMMENT ON COLUMN sys_rbac_region.create_time IS '创建时间';
COMMENT ON COLUMN sys_rbac_region.update_time IS '修改时间';
CREATE TABLE IF NOT EXISTS sys_rbac_department (
id VARCHAR(50) NOT NULL,
region_id VARCHAR(50),
parent_id VARCHAR(50),
root_id VARCHAR(50) NOT NULL,
root_code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_rbac_department 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.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.code IS '部门代码';
COMMENT ON COLUMN sys_rbac_department.sort IS '部门排序';
COMMENT ON COLUMN sys_rbac_department.description IS '描述';
COMMENT ON COLUMN sys_rbac_department.create_time IS '创建时间';
COMMENT ON COLUMN sys_rbac_department.update_time IS '修改时间';
INSERT INTO sys_rbac_department
VALUES ('019ac468-16b9-7abc-8f2d-7a8d59034969', NULL, NULL, '系统管理部', 'DEPT00001', 0);
CREATE TABLE IF NOT EXISTS sys_rbac_role (
id VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
code VARCHAR(200) NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_rbac_role IS '角色表';
COMMENT ON COLUMN sys_rbac_role.id IS '主键';
COMMENT ON COLUMN sys_rbac_role.name IS '角色名称';
COMMENT ON COLUMN sys_rbac_role.code IS '角色代码';
COMMENT ON COLUMN sys_rbac_role.sort IS '角色排序';
COMMENT ON COLUMN sys_rbac_role.description IS '描述';
COMMENT ON COLUMN sys_rbac_role.create_time IS '创建时间';
COMMENT ON COLUMN sys_rbac_role.update_time IS '修改时间';
INSERT INTO sys_rbac_role
VALUES ('019ac46a-bf32-7183-a119-45d09f982a31', '系统管理员', 'ROLE00001', 0);
CREATE TABLE IF NOT EXISTS sys_rbac_user (
id VARCHAR(50) NOT NULL,
username VARCHAR(500) NOT NULL,
nickname VARCHAR(500),
password VARCHAR(200) NOT NULL,
enabled VARCHAR(2) NOT NULL DEFAULT '1',
description TEXT,
create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamptz,
PRIMARY KEY (id)
);
COMMENT ON TABLE sys_rbac_user IS '用户表';
COMMENT ON COLUMN sys_rbac_user.id IS '主键';
COMMENT ON COLUMN sys_rbac_user.username IS '用户名称';
COMMENT ON COLUMN sys_rbac_user.nickname IS '用户昵称';
COMMENT ON COLUMN sys_rbac_user.password IS '用户密码';
COMMENT ON COLUMN sys_rbac_user.enabled IS '是否启用0-未启用/1-启用';
COMMENT ON COLUMN sys_rbac_user.description IS '描述';
COMMENT ON COLUMN sys_rbac_user.create_time IS '创建时间';
COMMENT ON COLUMN sys_rbac_user.update_time IS '修改时间';
INSERT INTO sys_rbac_user
VALUES ('019ac46c-5a72-7af2-932b-bf0a31741e98', 'admin', '管理员', '$2a$10$5XwMwhPjHEL8XPsR1bgfQuBnOtCC5u3Y/CdD3MbTFMUiEFcazlYMq', '1');
CREATE TABLE IF NOT EXISTS sys_rbac_user_department (
user_id VARCHAR(50) NOT NULL,
department_id VARCHAR(50) NOT NULL,
PRIMARY KEY (user_id, department_id)
);
COMMENT ON TABLE sys_rbac_user_department IS '用户部门表';
COMMENT ON COLUMN sys_rbac_user_department.user_id IS '用户ID';
COMMENT ON COLUMN sys_rbac_user_department.department_id IS '部门ID';
INSERT INTO sys_rbac_user_department
VALUES ('019ac46c-5a72-7af2-932b-bf0a31741e98', '019ac468-16b9-7abc-8f2d-7a8d59034969');
CREATE TABLE IF NOT EXISTS sys_rbac_user_role (
user_id VARCHAR(50) NOT NULL,
role_id VARCHAR(50) NOT NULL,
PRIMARY KEY (user_id, role_id)
);
COMMENT ON TABLE sys_rbac_user_role IS '用户部门表';
COMMENT ON COLUMN sys_rbac_user_role.user_id IS '用户ID';
COMMENT ON COLUMN sys_rbac_user_role.role_id IS '角色ID';
INSERT INTO sys_rbac_user_role
VALUES ('019ac46c-5a72-7af2-932b-bf0a31741e98', '019ac46a-bf32-7183-a119-45d09f982a31');