From 29422f1adcd977048ed4f8f4659225d416a6bdcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E6=B0=B8=E6=98=A5?= Date: Sat, 6 Dec 2025 17:10:52 +0800 Subject: [PATCH] =?UTF-8?q?SQL=E8=84=9A=E6=9C=AC=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sql/dolphin.sql | 191 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 docs/sql/dolphin.sql diff --git a/docs/sql/dolphin.sql b/docs/sql/dolphin.sql new file mode 100644 index 0000000..cae495f --- /dev/null +++ b/docs/sql/dolphin.sql @@ -0,0 +1,191 @@ + +CREATE TABLE IF NOT EXISTS sys_core_dictionary ( + id VARCHAR(50) NOT NULL DEFAULT uuidv7(), + name VARCHAR(500) NOT NULL, + code VARCHAR(200) NOT NULL, + type VARCHAR(50) NOT NULL, + description TEXT, + create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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 DEFAULT uuidv7(), + 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_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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 '修改时间'; + +CREATE TABLE sys_core_sequence ( + id VARCHAR(50) NOT NULL DEFAULT uuidv7(), + name VARCHAR(500) NOT NULL, + code VARCHAR(200) NOT NULL, + description TEXT, + create_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + PRIMARY KEY (id) +); + +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_rbac_region ( + id VARCHAR(50) NOT NULL DEFAULT uuidv7(), + parent_id VARCHAR(50), + parent_code VARCHAR(50), + root_id VARCHAR(50), + root_code VARCHAR(50), + 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_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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 DEFAULT uuidv7(), + region_id VARCHAR(50), + 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_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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.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 DEFAULT uuidv7(), + 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_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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 DEFAULT uuidv7(), + 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_timestamp, + update_time TIMESTAMPTZ NOT NULL DEFAULT current_timestamp, + 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 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');