chore: 新增 PostgreSQL 初始 SQL 脚本

This commit is contained in:
Charles7c 2024-02-18 21:11:43 +08:00
parent 3129e0a6dc
commit 33b81029df
4 changed files with 672 additions and 1 deletions

View File

@ -5,3 +5,10 @@ databaseChangeLog:
file: db/changelog/mysql/continew-admin_column.sql
- include:
file: db/changelog/mysql/continew-admin_data.sql
# PostgreSQL
# - include:
# file: db/changelog/postgresql/continew-admin_table.sql
# - include:
# file: db/changelog/postgresql/continew-admin_column.sql
# - include:
# file: db/changelog/postgresql/continew-admin_data.sql

View File

@ -0,0 +1,2 @@
-- liquibase formatted sql

View File

@ -0,0 +1,145 @@
-- liquibase formatted sql
-- changeset Charles7c:2.5.0
-- comment 初始化表数据
-- 初始化默认菜单
INSERT INTO "sys_menu"
("id", "title", "parent_id", "type", "path", "name", "component", "icon", "is_external", "is_cache", "is_hidden", "permission", "sort", "status", "create_user", "create_time", "update_user", "update_time")
VALUES
(1000, '系统管理', 0, 1, '/system', 'System', NULL, 'settings', false, false, false, NULL, 1, 1, 1, NOW(), NULL, NULL),
(1010, '用户管理', 1000, 2, '/system/user', 'User', 'system/user/index', 'user', false, false, false, 'system:user:list', 1, 1, 1, NOW(), NULL, NULL),
(1011, '用户新增', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:add', 1, 1, 1, NOW(), NULL, NULL),
(1012, '用户修改', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:update', 2, 1, 1, NOW(), NULL, NULL),
(1013, '用户删除', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:delete', 3, 1, 1, NOW(), NULL, NULL),
(1014, '用户导出', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:export', 4, 1, 1, NOW(), NULL, NULL),
(1015, '重置密码', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:password:reset', 5, 1, 1, NOW(), NULL, NULL),
(1016, '分配角色', 1010, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:user:role:update', 6, 1, 1, NOW(), NULL, NULL),
(1020, '部门管理', 1000, 2, '/system/dept', 'Dept', 'system/dept/index', 'user-group', false, false, false, 'system:dept:list', 2, 1, 1, NOW(), NULL, NULL),
(1021, '部门新增', 1020, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dept:add', 1, 1, 1, NOW(), NULL, NULL),
(1022, '部门修改', 1020, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dept:update', 2, 1, 1, NOW(), NULL, NULL),
(1023, '部门删除', 1020, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dept:delete', 3, 1, 1, NOW(), NULL, NULL),
(1024, '部门导出', 1020, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dept:export', 4, 1, 1, NOW(), NULL, NULL),
(1030, '角色管理', 1000, 2, '/system/role', 'Role', 'system/role/index', 'safe', false, false, false, 'system:role:list', 3, 1, 1, NOW(), NULL, NULL),
(1031, '角色新增', 1030, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:role:add', 1, 1, 1, NOW(), NULL, NULL),
(1032, '角色修改', 1030, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:role:update', 2, 1, 1, NOW(), NULL, NULL),
(1033, '角色删除', 1030, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:role:delete', 3, 1, 1, NOW(), NULL, NULL),
(1034, '角色导出', 1030, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:role:export', 4, 1, 1, NOW(), NULL, NULL),
(1040, '菜单管理', 1000, 2, '/system/menu', 'Menu', 'system/menu/index', 'menu', false, false, false, 'system:menu:list', 4, 1, 1, NOW(), NULL, NULL),
(1041, '菜单新增', 1040, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:menu:add', 1, 1, 1, NOW(), NULL, NULL),
(1042, '菜单修改', 1040, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:menu:update', 2, 1, 1, NOW(), NULL, NULL),
(1043, '菜单删除', 1040, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:menu:delete', 3, 1, 1, NOW(), NULL, NULL),
(1044, '菜单导出', 1040, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:menu:export', 4, 1, 1, NOW(), NULL, NULL),
(1050, '公告管理', 1000, 2, '/system/announcement', 'Announcement', 'system/announcement/index', 'advertising', false, false, false, 'system:announcement:list', 5, 1, 1, NOW(), NULL, NULL),
(1051, '公告新增', 1050, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:announcement:add', 1, 1, 1, NOW(), NULL, NULL),
(1052, '公告修改', 1050, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:announcement:update', 2, 1, 1, NOW(), NULL, NULL),
(1053, '公告删除', 1050, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:announcement:delete', 3, 1, 1, NOW(), NULL, NULL),
(1054, '公告导出', 1050, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:announcement:export', 4, 1, 1, NOW(), NULL, NULL),
(1060, '消息管理', 1000, 2, '/system/message', 'Message', 'system/message/index', 'notification', false, false, false, 'system:message:list', 6, 1, 1, NOW(), NULL, NULL),
(1061, '消息删除', 1060, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:message:delete', 1, 1, 1, NOW(), NULL, NULL),
(1070, '字典管理', 1000, 2, '/system/dict', 'Dict', 'system/dict/index', 'bookmark', false, false, false, 'system:dict:list', 7, 1, 1, NOW(), NULL, NULL),
(1071, '字典新增', 1070, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dict:add', 1, 1, 1, NOW(), NULL, NULL),
(1072, '字典修改', 1070, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dict:update', 2, 1, 1, NOW(), NULL, NULL),
(1073, '字典删除', 1070, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dict:delete', 3, 1, 1, NOW(), NULL, NULL),
(1074, '字典导出', 1070, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:dict:export', 4, 1, 1, NOW(), NULL, NULL),
(1080, '系统配置', 1000, 2, '/system/config', 'Config', 'system/config/index', 'desktop', false, false, false, 'system:config:list', 8, 1, 1, NOW(), NULL, NULL),
(1081, '修改配置', 1080, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:config:update', 1, 1, 1, NOW(), NULL, NULL),
(1082, '恢复默认', 1080, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:config:reset', 2, 1, 1, NOW(), NULL, NULL),
(1090, '文件管理', 1000, 2, '/system/file', 'File', 'system/file/index', 'file', false, false, false, 'system:file:list', 9, 1, 1, NOW(), NULL, NULL),
(1091, '文件上传', 1090, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:file:upload', 1, 1, 1, NOW(), NULL, NULL),
(1092, '文件修改', 1090, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:file:update', 2, 1, 1, NOW(), NULL, NULL),
(1093, '文件删除', 1090, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:file:delete', 3, 1, 1, NOW(), NULL, NULL),
(1094, '文件下载', 1090, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:file:download', 4, 1, 1, NOW(), NULL, NULL),
(1100, '存储管理', 1000, 2, '/system/storage', 'Storage', 'system/storage/index', 'storage', false, false, true, 'system:storage:list', 10, 1, 1, NOW(), NULL, NULL),
(1101, '存储新增', 1100, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:storage:add', 1, 1, 1, NOW(), NULL, NULL),
(1102, '存储修改', 1100, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:storage:update', 2, 1, 1, NOW(), NULL, NULL),
(1103, '存储删除', 1100, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:storage:delete', 3, 1, 1, NOW(), NULL, NULL),
(1104, '存储导出', 1100, 3, NULL, NULL, NULL, NULL, false, false, false, 'system:storage:export', 4, 1, 1, NOW(), NULL, NULL),
(2000, '系统工具', 0, 1, '/tool', 'Tool', NULL, 'tool', false, false, false, NULL, 2, 1, 1, NOW(), NULL, NULL),
(2010, '代码生成', 2000, 2, '/tool/generator', 'Generator', 'tool/generator/index', 'code', false, false, false, 'tool:generator:list', 1, 1, 1, NOW(), NULL, NULL),
(9000, '系统监控', 0, 1, '/monitor', 'Monitor', NULL, 'computer', false, false, false, NULL, 899, 1, 1, NOW(), NULL, NULL),
(9010, '在线用户', 9000, 2, '/monitor/online', 'OnlineUser', 'monitor/online/index', 'anonymity', false, false, false, 'monitor:online:user:list', 1, 1, 1, NOW(), NULL, NULL),
(9011, '强退用户', 9010, 3, NULL, NULL, NULL, NULL, false, false, false, 'monitor:online:user:delete', 1, 1, 1, NOW(), NULL, NULL),
(9030, '登录日志', 9000, 2, '/monitor/log/login', 'LoginLog', 'monitor/log/login/index', 'old-version', false, false, false, 'monitor:log:login:list', 2, 1, 1, NOW(), NULL, NULL),
(9050, '操作日志', 9000, 2, '/monitor/log/operation', 'OperationLog', 'monitor/log/operation/index', 'history', false, false, false, 'monitor:log:operation:list', 3, 1, 1, NOW(), NULL, NULL),
(9070, '系统日志', 9000, 2, '/monitor/log/system', 'SystemLog', 'monitor/log/system/index', 'behavior-anal', false, false, false, 'monitor:log:system:list', 4, 1, 1, NOW(), NULL, NULL),
(10000, '接口文档', 0, 1, 'https://api.charles7c.top/doc.html', NULL, NULL, 'code-square', true, false, false, NULL, 997, 1, 1, NOW(), NULL, NULL),
(10001, 'Arco Design Vue', 0, 1, 'https://arco.design/vue/docs/start', NULL, NULL, 'link', true, false, false, NULL, 998, 1, 1, NOW(), NULL, NULL),
(10002, 'GitHub', 0, 1, 'https://github.com/Charles7c/continew-admin', NULL, NULL, 'github', true, false, false, NULL, 999, 1, 1, NOW(), NULL, NULL);
-- 初始化默认部门
INSERT INTO "sys_dept"
("id", "name", "parent_id", "ancestors", "description", "sort", "status", "is_system", "create_user", "create_time", "update_user", "update_time")
VALUES
(1, 'Xxx科技有限公司', 0, '0', '系统初始部门', 1, 1, true, 1, NOW(), NULL, NULL),
(547887852587843590, '天津总部', 1, '0,1', NULL, 1, 1, false, 1, NOW(), NULL, NULL),
(547888008188133385, '研发部', 547887852587843590, '0,1,2', NULL, 1, 1, false, 1, NOW(), NULL, NULL),
(547888460711591948, 'UI部', 547887852587843590, '0,1,2', NULL, 2, 1, false, 1, NOW(), NULL, NULL),
(547888483713155087, '测试部', 547887852587843590, '0,1,2', NULL, 3, 1, false, 1, NOW(), NULL, NULL),
(547888505959743506, '运维部', 547887852587843590, '0,1,2', NULL, 4, 1, false, 1, NOW(), NULL, NULL),
(547888556819873814, '研发一组', 547888008188133385, '0,1,2,3', NULL, 1, 1, false, 1, NOW(), NULL, NULL),
(547888580614160409, '研发二组', 547888008188133385, '0,1,2,3', NULL, 2, 2, false, 1, NOW(), NULL, NULL);
-- 初始化默认角色
INSERT INTO "sys_role"
("id", "name", "code", "data_scope", "description", "sort", "status", "is_system", "create_user", "create_time", "update_user", "update_time")
VALUES
(1, '超级管理员', 'admin', 1, '系统初始角色', 1, 1, true, 1, NOW(), NULL, NULL),
(547888897925840928, '测试人员', 'test', 5, NULL, 2, 1, false, 1, NOW(), NULL, NULL);
-- 初始化默认用户admin/admin123test/123456
INSERT INTO "sys_user"
("id", "username", "nickname", "password", "gender", "email", "phone", "avatar", "description", "status", "is_system", "pwd_reset_time", "dept_id", "create_user", "create_time", "update_user", "update_time")
VALUES
(1, 'admin', '超级管理员', '{bcrypt}$2a$10$4jGwK2BMJ7FgVR.mgwGodey8.xR8FLoU1XSXpxJ9nZQt.pufhasSa', 1, '42190c6c5639d2ca4edb4150a35e058559ccf8270361a23745a2fd285a273c28', '5bda89a4609a65546422ea56bfe5eab4', NULL, '系统初始用户', 1, true, NOW(), 1, 1, NOW(), NULL, NULL),
(547889293968801831, 'test', '测试员', '{bcrypt}$2a$10$meMbyso06lupZjxT88fG8undZo6.DSNUmifRfnnre8r/s13ciq6M6', 2, NULL, NULL, NULL, NULL, 2, false, NOW(), 547888483713155087, 1, NOW(), NULL, NULL);
-- 初始化默认参数
INSERT INTO "sys_option"
("name", "code", "value", "default_value", "description", "update_user", "update_time")
VALUES
('系统标题', 'site_title', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
('版权信息', 'site_copyright', NULL,
'Copyright © 2022-present&nbsp;<a href="https://blog.charles7c.top/about/me" target="_blank" rel="noopener" style="text-decoration: none; color: rgb(78,89,105)">Charles7c</a>&nbsp;<span>⋅</span>&nbsp;<a href="https://github.com/Charles7c/continew-admin" target="_blank" rel="noopener" style="text-decoration: none; color: rgb(78,89,105)">ContiNew Admin</a>&nbsp;<span>⋅</span>&nbsp;<a href="https://beian.miit.gov.cn" target="_blank" rel="noopener" style="text-decoration: none; color: rgb(78,89,105)">津ICP备2022005864号-2</a>',
'用于显示登录页面的底部版权信息。', NULL, NULL),
('系统LOGO16*16', 'site_favicon', NULL, 'https://cnadmin.charles7c.top/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
('系统LOGO33*33', 'site_logo', NULL, 'https://cnadmin.charles7c.top/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL);
-- 初始化默认字典
INSERT INTO "sys_dict"
("id", "name", "code", "description", "is_system", "create_user", "create_time", "update_user", "update_time")
VALUES
(547889614262632491, '公告类型', 'announcement_type', NULL, true, 1, NOW(), NULL, NULL);
INSERT INTO "sys_dict_item"
("id", "label", "value", "color", "sort", "description", "dict_id", "create_user", "create_time", "update_user", "update_time")
VALUES
(547889649658363951, '通知', '1', 'blue', 1, NULL, 547889614262632491, 1, NOW(), NULL, NULL),
(547890124537462835, '活动', '2', 'orangered', 2, NULL, 547889614262632491, 1, NOW(), NULL, NULL);
-- 初始化默认用户和角色关联数据
INSERT INTO "sys_user_role"
("user_id", "role_id")
VALUES
(1, 1),
(547889293968801831, 547888897925840928);
-- 初始化默认角色和菜单关联数据
INSERT INTO "sys_role_menu"
("role_id", "menu_id")
VALUES
(547889293968801831, 1000),
(547889293968801831, 1010),
(547889293968801831, 1011),
(547889293968801831, 1012),
(547889293968801831, 1013),
(547889293968801831, 1014);
-- 初始化默认角色和部门关联数据
INSERT INTO "sys_role_dept" ("role_id", "dept_id") VALUES (547888897925840928, 547888483713155087);
-- 初始化默认存储库
INSERT INTO "sys_storage"
("id", "name", "code", "type", "access_key", "secret_key", "endpoint", "bucket_name", "domain", "description", "is_default", "sort", "status", "create_user", "create_time", "update_user", "update_time")
VALUES
(547890346239983671, '开发环境', 'local_dev', 2, NULL, NULL, NULL, 'C:/continew-admin/data/file/', 'http://localhost:8000/file', '本地存储', true, 1, 1, 1, NOW(), NULL, NULL),
(547890366586552377, '生产环境', 'local_prod', 2, NULL, NULL, NULL, '../data/file/', 'http://api.charles7c.top/file', '本地存储', false, 2, 2, 1, NOW(), NULL, NULL);

View File

@ -0,0 +1,517 @@
-- liquibase formatted sql
-- changeset Charles7c:2.5.0
-- comment 初始化表结构
CREATE TABLE IF NOT EXISTS "sys_menu" (
"id" int8 NOT NULL,
"title" varchar(30) NOT NULL,
"parent_id" int8 NOT NULL DEFAULT 0,
"type" int2 NOT NULL DEFAULT 1,
"path" varchar(255) DEFAULT NULL,
"name" varchar(50) DEFAULT NULL,
"component" varchar(255) DEFAULT NULL,
"icon" varchar(50) DEFAULT NULL,
"is_external" bool NOT NULL DEFAULT false,
"is_cache" bool NOT NULL DEFAULT false,
"is_hidden" bool NOT NULL DEFAULT false,
"permission" varchar(100) DEFAULT NULL,
"sort" int4 NOT NULL DEFAULT 999,
"status" int2 NOT NULL DEFAULT 1,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "idx_menu_parent_id" ON "sys_menu" ("parent_id");
CREATE INDEX "idx_menu_create_user" ON "sys_menu" ("create_user");
CREATE INDEX "idx_menu_update_user" ON "sys_menu" ("update_user");
CREATE UNIQUE INDEX "uk_menu_title_parent_id" ON "sys_menu" ("title", "parent_id");
COMMENT ON COLUMN "sys_menu"."id" IS 'ID';
COMMENT ON COLUMN "sys_menu"."title" IS '标题';
COMMENT ON COLUMN "sys_menu"."parent_id" IS '上级菜单ID';
COMMENT ON COLUMN "sys_menu"."type" IS '类型1目录2菜单3按钮';
COMMENT ON COLUMN "sys_menu"."path" IS '路由地址';
COMMENT ON COLUMN "sys_menu"."name" IS '组件名称';
COMMENT ON COLUMN "sys_menu"."component" IS '组件路径';
COMMENT ON COLUMN "sys_menu"."icon" IS '图标';
COMMENT ON COLUMN "sys_menu"."is_external" IS '是否外链';
COMMENT ON COLUMN "sys_menu"."is_cache" IS '是否缓存';
COMMENT ON COLUMN "sys_menu"."is_hidden" IS '是否隐藏';
COMMENT ON COLUMN "sys_menu"."permission" IS '权限标识';
COMMENT ON COLUMN "sys_menu"."sort" IS '排序';
COMMENT ON COLUMN "sys_menu"."status" IS '状态1启用2禁用';
COMMENT ON COLUMN "sys_menu"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_menu"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_menu"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_menu"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_menu" IS '菜单表';
CREATE TABLE IF NOT EXISTS "sys_dept" (
"id" int8 NOT NULL,
"name" varchar(30) NOT NULL,
"parent_id" int8 NOT NULL DEFAULT 0,
"ancestors" varchar(512) NOT NULL DEFAULT '',
"description" varchar(200) DEFAULT NULL,
"sort" int4 NOT NULL DEFAULT 999,
"status" int2 NOT NULL DEFAULT 1,
"is_system" bool NOT NULL DEFAULT false,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "idx_dept_parent_id" ON "sys_dept" ("parent_id");
CREATE INDEX "idx_dept_create_user" ON "sys_dept" ("create_user");
CREATE INDEX "idx_dept_update_user" ON "sys_dept" ("update_user");
CREATE UNIQUE INDEX "uk_dept_name_parent_id" ON "sys_dept" ("name", "parent_id");
COMMENT ON COLUMN "sys_dept"."id" IS 'ID';
COMMENT ON COLUMN "sys_dept"."name" IS '名称';
COMMENT ON COLUMN "sys_dept"."parent_id" IS '上级部门ID';
COMMENT ON COLUMN "sys_dept"."ancestors" IS '祖级列表';
COMMENT ON COLUMN "sys_dept"."description" IS '描述';
COMMENT ON COLUMN "sys_dept"."sort" IS '排序';
COMMENT ON COLUMN "sys_dept"."status" IS '状态1启用2禁用';
COMMENT ON COLUMN "sys_dept"."is_system" IS '是否为系统内置数据';
COMMENT ON COLUMN "sys_dept"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_dept"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dept"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_dept"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_dept" IS '部门表';
CREATE TABLE IF NOT EXISTS "sys_role" (
"id" int8 NOT NULL,
"name" varchar(30) NOT NULL,
"code" varchar(30) NOT NULL,
"data_scope" int2 NOT NULL DEFAULT 4,
"description" varchar(200) DEFAULT NULL,
"sort" int4 NOT NULL DEFAULT 999,
"status" int2 NOT NULL DEFAULT 1,
"is_system" bool NOT NULL DEFAULT false,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "uk_role_name" ON "sys_role" ("name");
CREATE UNIQUE INDEX "uk_role_code" ON "sys_role" ("code");
CREATE INDEX "idx_role_create_user" ON "sys_role" ("create_user");
CREATE INDEX "idx_role_update_user" ON "sys_role" ("update_user");
COMMENT ON COLUMN "sys_role"."id" IS 'ID';
COMMENT ON COLUMN "sys_role"."name" IS '名称';
COMMENT ON COLUMN "sys_role"."code" IS '编码';
COMMENT ON COLUMN "sys_role"."data_scope" IS '数据权限1全部数据权限2本部门及以下数据权限3本部门数据权限4仅本人数据权限5自定义数据权限';
COMMENT ON COLUMN "sys_role"."description" IS '描述';
COMMENT ON COLUMN "sys_role"."sort" IS '排序';
COMMENT ON COLUMN "sys_role"."status" IS '状态1启用2禁用';
COMMENT ON COLUMN "sys_role"."is_system" IS '是否为系统内置数据';
COMMENT ON COLUMN "sys_role"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_role"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_role"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_role"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_role" IS '角色表';
CREATE TABLE IF NOT EXISTS "sys_user" (
"id" int8 NOT NULL,
"username" varchar(64) NOT NULL,
"nickname" varchar(30) NOT NULL,
"password" varchar(255) DEFAULT NULL,
"gender" int2 NOT NULL DEFAULT 0,
"email" varchar(255) DEFAULT NULL,
"phone" varchar(255) DEFAULT NULL,
"avatar" varchar(255) DEFAULT NULL,
"description" varchar(200) DEFAULT NULL,
"status" int2 NOT NULL DEFAULT 1,
"is_system" bool NOT NULL DEFAULT false,
"pwd_reset_time" timestamp DEFAULT NULL,
"dept_id" int8 NOT NULL,
"create_user" int8 DEFAULT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "uk_user_username" ON "sys_user" ("username");
CREATE UNIQUE INDEX "uk_user_email" ON "sys_user" ("email");
CREATE UNIQUE INDEX "uk_user_phone" ON "sys_user" ("phone");
CREATE INDEX "idx_user_dept_id" ON "sys_user" ("dept_id");
CREATE INDEX "idx_user_create_user" ON "sys_user" ("create_user");
CREATE INDEX "idx_user_update_user" ON "sys_user" ("update_user");
COMMENT ON COLUMN "sys_user"."id" IS 'ID';
COMMENT ON COLUMN "sys_user"."username" IS '用户名';
COMMENT ON COLUMN "sys_user"."nickname" IS '昵称';
COMMENT ON COLUMN "sys_user"."password" IS '密码';
COMMENT ON COLUMN "sys_user"."gender" IS '性别0未知12';
COMMENT ON COLUMN "sys_user"."email" IS '邮箱';
COMMENT ON COLUMN "sys_user"."phone" IS '手机号码';
COMMENT ON COLUMN "sys_user"."avatar" IS '头像地址';
COMMENT ON COLUMN "sys_user"."description" IS '描述';
COMMENT ON COLUMN "sys_user"."status" IS '状态1启用2禁用';
COMMENT ON COLUMN "sys_user"."is_system" IS '是否为系统内置数据';
COMMENT ON COLUMN "sys_user"."pwd_reset_time" IS '最后一次修改密码时间';
COMMENT ON COLUMN "sys_user"."dept_id" IS '部门ID';
COMMENT ON COLUMN "sys_user"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_user"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_user"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_user"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_user" IS '用户表';
CREATE TABLE IF NOT EXISTS "sys_user_social" (
"source" varchar(255) NOT NULL,
"open_id" varchar(255) NOT NULL,
"user_id" int8 NOT NULL,
"meta_json" text DEFAULT NULL,
"last_login_time" timestamp DEFAULT NULL,
"create_time" timestamp NOT NULL
);
CREATE UNIQUE INDEX "uk_user_source_open_id" ON "sys_user_social" ("source", "open_id");
COMMENT ON COLUMN "sys_user_social"."source" IS '来源';
COMMENT ON COLUMN "sys_user_social"."open_id" IS '开放ID';
COMMENT ON COLUMN "sys_user_social"."user_id" IS '用户ID';
COMMENT ON COLUMN "sys_user_social"."meta_json" IS '附加信息';
COMMENT ON COLUMN "sys_user_social"."last_login_time" IS '最后登录时间';
COMMENT ON COLUMN "sys_user_social"."create_time" IS '创建时间';
COMMENT ON TABLE "sys_user_social" IS '用户社会化关联表';
CREATE TABLE IF NOT EXISTS "sys_user_role" (
"user_id" int8 NOT NULL,
"role_id" int8 NOT NULL,
PRIMARY KEY ("user_id", "role_id")
);
COMMENT ON COLUMN "sys_user_role"."user_id" IS '用户ID';
COMMENT ON COLUMN "sys_user_role"."role_id" IS '角色ID';
COMMENT ON TABLE "sys_user_role" IS '用户和角色关联表';
CREATE TABLE IF NOT EXISTS "sys_role_menu" (
"role_id" int8 NOT NULL,
"menu_id" int8 NOT NULL,
PRIMARY KEY ("role_id", "menu_id")
);
COMMENT ON COLUMN "sys_role_menu"."role_id" IS '角色ID';
COMMENT ON COLUMN "sys_role_menu"."menu_id" IS '菜单ID';
COMMENT ON TABLE "sys_role_menu" IS '角色和菜单关联表';
CREATE TABLE IF NOT EXISTS "sys_role_dept" (
"role_id" int8 NOT NULL,
"dept_id" int8 NOT NULL,
PRIMARY KEY ("role_id", "dept_id")
);
COMMENT ON COLUMN "sys_role_dept"."role_id" IS '角色ID';
COMMENT ON COLUMN "sys_role_dept"."dept_id" IS '部门ID';
COMMENT ON TABLE "sys_role_dept" IS '角色和部门关联表';
CREATE TABLE IF NOT EXISTS "sys_option" (
"name" varchar(50) NOT NULL,
"code" varchar(100) NOT NULL,
"value" text DEFAULT NULL,
"default_value" text DEFAULT NULL,
"description" varchar(200) DEFAULT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("code")
);
CREATE INDEX "idx_option_update_user" ON "sys_option" ("update_user");
COMMENT ON COLUMN "sys_option"."name" IS '名称';
COMMENT ON COLUMN "sys_option"."code" IS '';
COMMENT ON COLUMN "sys_option"."value" IS '';
COMMENT ON COLUMN "sys_option"."default_value" IS '默认值';
COMMENT ON COLUMN "sys_option"."description" IS '描述';
COMMENT ON COLUMN "sys_option"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_option"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_option" IS '参数表';
CREATE TABLE IF NOT EXISTS "sys_dict" (
"id" int8 NOT NULL,
"name" varchar(30) NOT NULL,
"code" varchar(30) NOT NULL,
"description" varchar(200) DEFAULT NULL,
"is_system" bool NOT NULL DEFAULT false,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "uk_dict_name" ON "sys_dict" ("name");
CREATE UNIQUE INDEX "uk_dict_code" ON "sys_dict" ("code");
COMMENT ON COLUMN "sys_dict"."id" IS 'ID';
COMMENT ON COLUMN "sys_dict"."name" IS '名称';
COMMENT ON COLUMN "sys_dict"."code" IS '编码';
COMMENT ON COLUMN "sys_dict"."description" IS '描述';
COMMENT ON COLUMN "sys_dict"."is_system" IS '是否为系统内置数据';
COMMENT ON COLUMN "sys_dict"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_dict"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dict"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_dict"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_dict" IS '字典表';
CREATE TABLE IF NOT EXISTS "sys_dict_item" (
"id" int8 NOT NULL,
"label" varchar(30) NOT NULL,
"value" varchar(30) NOT NULL,
"color" varchar(30) DEFAULT NULL,
"sort" int4 NOT NULL DEFAULT 999,
"description" varchar(200) DEFAULT NULL,
"dict_id" int8 NOT NULL,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "uk_dict_item_value_dict_id" ON "sys_dict_item" ("value", "dict_id");
CREATE INDEX "idx_dict_item_dict_id" ON "sys_dict_item" ("dict_id");
CREATE INDEX "idx_dict_item_create_user" ON "sys_dict_item" ("create_user");
CREATE INDEX "idx_dict_item_update_user" ON "sys_dict_item" ("update_user");
COMMENT ON COLUMN "sys_dict_item"."id" IS 'ID';
COMMENT ON COLUMN "sys_dict_item"."label" IS '标签';
COMMENT ON COLUMN "sys_dict_item"."value" IS '';
COMMENT ON COLUMN "sys_dict_item"."color" IS '标签颜色';
COMMENT ON COLUMN "sys_dict_item"."sort" IS '排序';
COMMENT ON COLUMN "sys_dict_item"."description" IS '描述';
COMMENT ON COLUMN "sys_dict_item"."dict_id" IS '字典ID';
COMMENT ON COLUMN "sys_dict_item"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_dict_item"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dict_item"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_dict_item"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_dict_item" IS '字典项表';
CREATE TABLE IF NOT EXISTS "sys_log" (
"id" int8 NOT NULL,
"trace_id" varchar(255) DEFAULT NULL,
"description" varchar(255) NOT NULL,
"module" varchar(50) NOT NULL,
"request_url" varchar(512) NOT NULL,
"request_method" varchar(10) NOT NULL,
"request_headers" text DEFAULT NULL,
"request_body" text DEFAULT NULL,
"status_code" int4 NOT NULL,
"response_headers" text DEFAULT NULL,
"response_body" text DEFAULT NULL,
"time_taken" int8 NOT NULL,
"ip" varchar(100) DEFAULT NULL,
"address" varchar(255) DEFAULT NULL,
"browser" varchar(100) DEFAULT NULL,
"os" varchar(100) DEFAULT NULL,
"status" int2 NOT NULL DEFAULT 1,
"error_msg" text DEFAULT NULL,
"create_user" int8 DEFAULT NULL,
"create_time" timestamp NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "idx_log_module" ON "sys_log" ("module");
CREATE INDEX "idx_log_ip" ON "sys_log" ("ip");
CREATE INDEX "idx_log_create_time" ON "sys_log" ("create_time");
COMMENT ON COLUMN "sys_log"."id" IS 'ID';
COMMENT ON COLUMN "sys_log"."trace_id" IS '链路ID';
COMMENT ON COLUMN "sys_log"."description" IS '日志描述';
COMMENT ON COLUMN "sys_log"."module" IS '所属模块';
COMMENT ON COLUMN "sys_log"."request_url" IS '请求URL';
COMMENT ON COLUMN "sys_log"."request_method" IS '请求方式';
COMMENT ON COLUMN "sys_log"."request_headers" IS '请求头';
COMMENT ON COLUMN "sys_log"."request_body" IS '请求体';
COMMENT ON COLUMN "sys_log"."status_code" IS '状态码';
COMMENT ON COLUMN "sys_log"."response_headers" IS '响应头';
COMMENT ON COLUMN "sys_log"."response_body" IS '响应体';
COMMENT ON COLUMN "sys_log"."time_taken" IS '耗时ms';
COMMENT ON COLUMN "sys_log"."ip" IS 'IP';
COMMENT ON COLUMN "sys_log"."address" IS 'IP归属地';
COMMENT ON COLUMN "sys_log"."browser" IS '浏览器';
COMMENT ON COLUMN "sys_log"."os" IS '操作系统';
COMMENT ON COLUMN "sys_log"."status" IS '状态1成功2失败';
COMMENT ON COLUMN "sys_log"."error_msg" IS '错误信息';
COMMENT ON COLUMN "sys_log"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_log"."create_time" IS '创建时间';
COMMENT ON TABLE "sys_log" IS '系统日志表';
CREATE TABLE IF NOT EXISTS "sys_message" (
"id" int8 NOT NULL,
"title" varchar(50) NOT NULL,
"content" varchar(255) DEFAULT NULL,
"type" int2 NOT NULL DEFAULT 1,
"create_user" int8 DEFAULT NULL,
"create_time" timestamp NOT NULL,
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_message"."id" IS 'ID';
COMMENT ON COLUMN "sys_message"."title" IS '标题';
COMMENT ON COLUMN "sys_message"."content" IS '内容';
COMMENT ON COLUMN "sys_message"."type" IS '类型1系统消息';
COMMENT ON COLUMN "sys_message"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_message"."create_time" IS '创建时间';
COMMENT ON TABLE "sys_message" IS '消息表';
CREATE TABLE IF NOT EXISTS "sys_message_user" (
"message_id" int8 NOT NULL,
"user_id" int8 NOT NULL,
"is_read" bool NOT NULL DEFAULT false,
"read_time" timestamp DEFAULT NULL,
PRIMARY KEY ("message_id", "user_id")
);
COMMENT ON COLUMN "sys_message_user"."message_id" IS '消息ID';
COMMENT ON COLUMN "sys_message_user"."user_id" IS '用户ID';
COMMENT ON COLUMN "sys_message_user"."is_read" IS '是否已读';
COMMENT ON COLUMN "sys_message_user"."read_time" IS '读取时间';
COMMENT ON TABLE "sys_message_user" IS '消息和用户关联表';
CREATE TABLE IF NOT EXISTS "sys_announcement" (
"id" int8 NOT NULL,
"title" varchar(150) NOT NULL,
"content" text NOT NULL,
"type" varchar(30) NOT NULL,
"effective_time" timestamp DEFAULT NULL,
"terminate_time" timestamp DEFAULT NULL,
"sort" int4 NOT NULL DEFAULT 999,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "idx_announcement_create_user" ON "sys_announcement" ("create_user");
CREATE INDEX "idx_announcement_update_user" ON "sys_announcement" ("update_user");
COMMENT ON COLUMN "sys_announcement"."id" IS 'ID';
COMMENT ON COLUMN "sys_announcement"."title" IS '标题';
COMMENT ON COLUMN "sys_announcement"."content" IS '内容';
COMMENT ON COLUMN "sys_announcement"."type" IS '类型';
COMMENT ON COLUMN "sys_announcement"."effective_time" IS '生效时间';
COMMENT ON COLUMN "sys_announcement"."terminate_time" IS '终止时间';
COMMENT ON COLUMN "sys_announcement"."sort" IS '排序';
COMMENT ON COLUMN "sys_announcement"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_announcement"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_announcement"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_announcement"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_announcement" IS '公告表';
CREATE TABLE IF NOT EXISTS "sys_storage" (
"id" int8 NOT NULL,
"name" varchar(100) NOT NULL,
"code" varchar(30) NOT NULL,
"type" int2 NOT NULL DEFAULT 1,
"access_key" varchar(255) DEFAULT NULL,
"secret_key" varchar(255) DEFAULT NULL,
"endpoint" varchar(255) DEFAULT NULL,
"bucket_name" varchar(255) DEFAULT NULL,
"domain" varchar(255) NOT NULL DEFAULT '',
"description" varchar(200) DEFAULT NULL,
"is_default" bool NOT NULL DEFAULT false,
"sort" int4 NOT NULL DEFAULT 999,
"status" int2 NOT NULL DEFAULT 1,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 DEFAULT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "uk_storage_code" ON "sys_storage" ("code");
CREATE INDEX "idx_storage_create_user" ON "sys_storage" ("create_user");
CREATE INDEX "idx_storage_update_user" ON "sys_storage" ("update_user");
COMMENT ON COLUMN "sys_storage"."id" IS 'ID';
COMMENT ON COLUMN "sys_storage"."name" IS '名称';
COMMENT ON COLUMN "sys_storage"."code" IS '编码';
COMMENT ON COLUMN "sys_storage"."type" IS '类型1兼容S3协议存储2本地存储';
COMMENT ON COLUMN "sys_storage"."access_key" IS 'Access Key访问密钥';
COMMENT ON COLUMN "sys_storage"."secret_key" IS 'Secret Key私有密钥';
COMMENT ON COLUMN "sys_storage"."endpoint" IS 'Endpoint终端节点';
COMMENT ON COLUMN "sys_storage"."bucket_name" IS '桶名称';
COMMENT ON COLUMN "sys_storage"."domain" IS '自定义域名';
COMMENT ON COLUMN "sys_storage"."description" IS '描述';
COMMENT ON COLUMN "sys_storage"."is_default" IS '是否为默认存储';
COMMENT ON COLUMN "sys_storage"."sort" IS '排序';
COMMENT ON COLUMN "sys_storage"."status" IS '状态1启用2禁用';
COMMENT ON COLUMN "sys_storage"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_storage"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_storage"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_storage"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_storage" IS '存储库表';
CREATE TABLE IF NOT EXISTS "sys_file" (
"id" int8 NOT NULL,
"name" varchar(255) NOT NULL,
"size" int8 NOT NULL,
"url" varchar(512) NOT NULL,
"extension" varchar(100) DEFAULT NULL,
"type" int2 NOT NULL DEFAULT 1,
"storage_id" int8 NOT NULL,
"create_user" int8 NOT NULL,
"create_time" timestamp NOT NULL,
"update_user" int8 NOT NULL,
"update_time" timestamp NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "idx_file_url" ON "sys_file" ("url");
CREATE INDEX "idx_file_type" ON "sys_file" ("type");
CREATE INDEX "idx_file_create_user" ON "sys_file" ("create_user");
CREATE INDEX "idx_file_update_user" ON "sys_file" ("update_user");
COMMENT ON COLUMN "sys_file"."id" IS 'ID';
COMMENT ON COLUMN "sys_file"."name" IS '名称';
COMMENT ON COLUMN "sys_file"."size" IS '大小(字节)';
COMMENT ON COLUMN "sys_file"."url" IS 'URL';
COMMENT ON COLUMN "sys_file"."extension" IS '扩展名';
COMMENT ON COLUMN "sys_file"."type" IS '类型1其他2图片3文档4视频5音频';
COMMENT ON COLUMN "sys_file"."storage_id" IS '存储库ID';
COMMENT ON COLUMN "sys_file"."create_user" IS '创建人';
COMMENT ON COLUMN "sys_file"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_file"."update_user" IS '修改人';
COMMENT ON COLUMN "sys_file"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_file" IS '文件表';
CREATE TABLE IF NOT EXISTS "gen_config" (
"table_name" varchar(64) NOT NULL,
"module_name" varchar(60) NOT NULL,
"package_name" varchar(60) NOT NULL,
"frontend_path" varchar(255) DEFAULT NULL,
"business_name" varchar(50) NOT NULL,
"author" varchar(100) NOT NULL,
"table_prefix" varchar(20) DEFAULT NULL,
"is_override" bool NOT NULL DEFAULT false,
"create_time" timestamp NOT NULL,
"update_time" timestamp DEFAULT NULL,
PRIMARY KEY ("table_name")
);
COMMENT ON COLUMN "gen_config"."table_name" IS '表名称';
COMMENT ON COLUMN "gen_config"."module_name" IS '模块名称';
COMMENT ON COLUMN "gen_config"."package_name" IS '包名称';
COMMENT ON COLUMN "gen_config"."frontend_path" IS '前端路径';
COMMENT ON COLUMN "gen_config"."business_name" IS '业务名称';
COMMENT ON COLUMN "gen_config"."author" IS '作者';
COMMENT ON COLUMN "gen_config"."table_prefix" IS '表前缀';
COMMENT ON COLUMN "gen_config"."is_override" IS '是否覆盖';
COMMENT ON COLUMN "gen_config"."create_time" IS '创建时间';
COMMENT ON COLUMN "gen_config"."update_time" IS '修改时间';
COMMENT ON TABLE "gen_config" IS '生成配置表';
CREATE TABLE IF NOT EXISTS "gen_field_config" (
"table_name" varchar(64) NOT NULL,
"column_name" varchar(64) NOT NULL,
"column_type" varchar(25) NOT NULL,
"column_size" int8 DEFAULT NULL,
"field_name" varchar(64) NOT NULL,
"field_type" varchar(25) NOT NULL,
"comment" varchar(512) DEFAULT NULL,
"is_required" bool NOT NULL DEFAULT true,
"show_in_list" bool NOT NULL DEFAULT true,
"show_in_form" bool NOT NULL DEFAULT true,
"show_in_query" bool NOT NULL DEFAULT true,
"form_type" int2 DEFAULT NULL,
"query_type" int2 DEFAULT NULL,
"create_time" timestamp NOT NULL
);
CREATE INDEX "idx_field_config_table_name" ON "gen_field_config" ("table_name");
COMMENT ON COLUMN "gen_field_config"."table_name" IS '表名称';
COMMENT ON COLUMN "gen_field_config"."column_name" IS '列名称';
COMMENT ON COLUMN "gen_field_config"."column_type" IS '列类型';
COMMENT ON COLUMN "gen_field_config"."column_size" IS '列大小';
COMMENT ON COLUMN "gen_field_config"."field_name" IS '字段名称';
COMMENT ON COLUMN "gen_field_config"."field_type" IS '字段类型';
COMMENT ON COLUMN "gen_field_config"."comment" IS '注释';
COMMENT ON COLUMN "gen_field_config"."is_required" IS '是否必填';
COMMENT ON COLUMN "gen_field_config"."show_in_list" IS '是否在列表中显示';
COMMENT ON COLUMN "gen_field_config"."show_in_form" IS '是否在表单中显示';
COMMENT ON COLUMN "gen_field_config"."show_in_query" IS '是否在查询中显示';
COMMENT ON COLUMN "gen_field_config"."form_type" IS '表单类型';
COMMENT ON COLUMN "gen_field_config"."query_type" IS '查询方式';
COMMENT ON COLUMN "gen_field_config"."create_time" IS '创建时间';
COMMENT ON TABLE "gen_field_config" IS '字段配置表';