From 33b81029df0b51058b3525b4317b51a2351319dc Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sun, 18 Feb 2024 21:11:43 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=96=B0=E5=A2=9E=20PostgreSQL=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=20SQL=20=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/changelog/db.changelog-master.yaml | 9 +- .../postgresql/continew-admin_column.sql | 2 + .../postgresql/continew-admin_data.sql | 145 +++++ .../postgresql/continew-admin_table.sql | 517 ++++++++++++++++++ 4 files changed, 672 insertions(+), 1 deletion(-) create mode 100644 continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_column.sql create mode 100644 continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_data.sql create mode 100644 continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_table.sql diff --git a/continew-admin-webapi/src/main/resources/db/changelog/db.changelog-master.yaml b/continew-admin-webapi/src/main/resources/db/changelog/db.changelog-master.yaml index ca10a07b..5a9f7bed 100644 --- a/continew-admin-webapi/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/continew-admin-webapi/src/main/resources/db/changelog/db.changelog-master.yaml @@ -4,4 +4,11 @@ databaseChangeLog: - include: file: db/changelog/mysql/continew-admin_column.sql - include: - file: db/changelog/mysql/continew-admin_data.sql \ No newline at end of file + 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 \ No newline at end of file diff --git a/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_column.sql b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_column.sql new file mode 100644 index 00000000..874085b8 --- /dev/null +++ b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_column.sql @@ -0,0 +1,2 @@ +-- liquibase formatted sql + diff --git a/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_data.sql b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_data.sql new file mode 100644 index 00000000..c4355767 --- /dev/null +++ b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_data.sql @@ -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/admin123;test/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 Charles7c  ContiNew Admin  津ICP备2022005864号-2', + '用于显示登录页面的底部版权信息。', NULL, NULL), +('系统LOGO(16*16)', 'site_favicon', NULL, 'https://cnadmin.charles7c.top/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL), +('系统LOGO(33*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); \ No newline at end of file diff --git a/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_table.sql b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_table.sql new file mode 100644 index 00000000..a95bfe6b --- /dev/null +++ b/continew-admin-webapi/src/main/resources/db/changelog/postgresql/continew-admin_table.sql @@ -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:未知;1:男;2:女)'; +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 '字段配置表'; \ No newline at end of file