9.0 KiB
9.0 KiB
/* ---------------------------------------------------- */
/* Generated by Enterprise Architect Version 10.10 */
/* Created On : 22-1月-2026 10:57:00 */
/* DBMS : PostgreSQL */
/* ---------------------------------------------------- */
/* Drop Sequences for Autonumber Columns */
DROP SEQUENCE IF EXISTS cg_template_id_seq
;
/* Drop Tables */
DROP TABLE IF EXISTS cg_fun_item CASCADE
;
DROP TABLE IF EXISTS cg_fun_module CASCADE
;
DROP TABLE IF EXISTS cg_fun_operation CASCADE
;
DROP TABLE IF EXISTS cg_menu CASCADE
;
DROP TABLE IF EXISTS cg_role CASCADE
;
DROP TABLE IF EXISTS cg_role_fun CASCADE
;
DROP TABLE IF EXISTS cg_template CASCADE
;
/* Create Tables */
CREATE TABLE cg_fun_item
(
id bigint NOT NULL, -- id
module_id bigint NOT NULL, -- 模块ID
item_id bigint NOT NULL, -- 功能ID
item_name varchar(50) NOT NULL, -- 功能名称
item_code varchar(64) NOT NULL, -- 功能编码
is_tenant boolean NOT NULL DEFAULT true, -- 是否租户
describe varchar(250) NULL, -- 说明
sort_order smallint NOT NULL DEFAULT 0 -- 排序
)
;
CREATE TABLE cg_fun_module
(
id bigint NOT NULL, -- id
module_code varchar(16) NOT NULL, -- 模块编码
module_name varchar(8) NOT NULL, -- 模块名称
package_name varchar(250) NOT NULL, -- 包名称
api_package_name varchar(250) NOT NULL, -- 参数包名
sort_order smallint NOT NULL DEFAULT 0, -- 排序
describe varchar(250) NULL -- 描述
)
;
CREATE TABLE cg_fun_operation
(
id bigint NOT NULL, -- id
module_id bigint NOT NULL, -- 模块ID
item_id bigint NOT NULL, -- 功能ID(表主键ID)
is_green_light boolean NOT NULL DEFAULT false, -- 直接放行
operation_id bigint NOT NULL, -- 操作ID
operation_code varchar(32) NULL, -- 操作编码
fun_name varchar(16) NOT NULL, -- 操作名称
fun_type smallint NOT NULL, -- 操作类型>>查>>改>>删>>增
request_type smallint NOT NULL, -- 请求类型
is_req_params boolean NOT NULL DEFAULT true, -- 是否需要请求参数
is_res_params boolean NOT NULL DEFAULT true, -- 是否需要响应参数
is_page boolean NOT NULL DEFAULT true, -- 是否分页
path_params varchar(16) NULL, -- 路径参数(与请求参数true互斥)
usable_config json NOT NULL DEFAULT '[]', -- 可配置数据类型json[]
field_config json NOT NULL DEFAULT '[]', -- 可配置字段
sort_order smallint NOT NULL DEFAULT 0, -- 排序
describe varchar(250) NULL -- 说明说明
)
;
CREATE TABLE cg_menu
(
id bigint NOT NULL, -- 主键ID
client_type smallint NOT NULL, -- 客户端类型:0 PC端,1 小程序端,2 H5端
menu_name varchar(32) NOT NULL, -- 菜单名称
parent_id bigint NOT NULL DEFAULT 0, -- 父菜单ID
fun_id bigint NULL, -- 操作ID/来自操作表
menu_type smallint NOT NULL DEFAULT 0, -- 0菜单1按钮
path varchar(64) NULL, -- 路由路径
page_path varchar(64) NULL,
icon varchar(64) NULL, -- 菜单图标
is_tenant boolean NOT NULL DEFAULT true, -- 是否租户
is_hide boolean NOT NULL DEFAULT false, -- 是否隐藏
sort_order smallint NOT NULL DEFAULT 0 -- 排序
)
;
CREATE TABLE cg_role
(
id bigint NOT NULL, -- 主键ID
role_name varchar(32) NOT NULL, -- 角色名称
role_type smallint NOT NULL -- 角色类型 0平台 1套餐
)
;
CREATE TABLE cg_role_fun
(
id bigint NOT NULL, -- 主键ID
role_id bigint NOT NULL, -- 角色ID
fun_id bigint NOT NULL, -- 操作ID
data_scope smallint NOT NULL DEFAULT 0, -- 数据权限默认:0无
assign_data_scope json NOT NULL DEFAULT '[]', -- 指定的数据权限范围
exclude_field json NOT NULL DEFAULT '[]', -- 排除的字段
client_type smallserial NOT NULL -- 客户端类型:0 PC端,1 小程序端,2 H5端
)
;
CREATE TABLE cg_template
(
id bigint NOT NULL DEFAULT NEXTVAL(('"cg_template_id_seq"'::text)::regclass), -- 主键ID
is_use boolean NOT NULL DEFAULT false, -- 是否使用
template_name varchar(32) NOT NULL, -- 模板名称
template_type smallint NOT NULL, -- 模板类型
content text NOT NULL -- 正文
)
;
/* Create Primary Keys, Indexes, Uniques, Checks */
ALTER TABLE cg_fun_item ADD CONSTRAINT "PK_cg_fun_item"
PRIMARY KEY (id)
;
ALTER TABLE cg_fun_item
ADD CONSTRAINT u_module_item_code UNIQUE (module_id,item_id,item_code)
;
ALTER TABLE cg_fun_item
ADD CONSTRAINT u_module_item_id UNIQUE (module_id,item_id)
;
ALTER TABLE cg_fun_module ADD CONSTRAINT "PK_cg_fun_module"
PRIMARY KEY (id)
;
ALTER TABLE cg_fun_operation ADD CONSTRAINT "PK_cg_fun_operation"
PRIMARY KEY (id)
;
ALTER TABLE cg_fun_operation
ADD CONSTRAINT u_module_item_opration UNIQUE (module_id,item_id,operation_code)
;
ALTER TABLE cg_fun_operation
ADD CONSTRAINT u_module_item_operation_id UNIQUE (module_id,item_id,operation_id)
;
ALTER TABLE cg_menu ADD CONSTRAINT "PK_cg_menu"
PRIMARY KEY (id)
;
ALTER TABLE cg_role ADD CONSTRAINT "PK_cg_role"
PRIMARY KEY (id)
;
ALTER TABLE cg_role_fun ADD CONSTRAINT "PK_cg_role_fun"
PRIMARY KEY (id)
;
ALTER TABLE cg_template ADD CONSTRAINT "PK_cg_template"
PRIMARY KEY (id)
;
/* Create Table Comments, Sequences for Autonumber Columns */
COMMENT ON TABLE cg_fun_item
IS '功能项配置'
;
COMMENT ON COLUMN cg_fun_item.id
IS 'id'
;
COMMENT ON COLUMN cg_fun_item.module_id
IS '模块ID'
;
COMMENT ON COLUMN cg_fun_item.item_id
IS '功能ID'
;
COMMENT ON COLUMN cg_fun_item.item_name
IS '功能名称'
;
COMMENT ON COLUMN cg_fun_item.item_code
IS '功能编码'
;
COMMENT ON COLUMN cg_fun_item.is_tenant
IS '是否租户'
;
COMMENT ON COLUMN cg_fun_item.describe
IS '说明'
;
COMMENT ON COLUMN cg_fun_item.sort_order
IS '排序'
;
COMMENT ON TABLE cg_fun_module
IS '模块配置'
;
COMMENT ON COLUMN cg_fun_module.id
IS 'id'
;
COMMENT ON COLUMN cg_fun_module.module_code
IS '模块编码'
;
COMMENT ON COLUMN cg_fun_module.module_name
IS '模块名称'
;
COMMENT ON COLUMN cg_fun_module.package_name
IS '包名称'
;
COMMENT ON COLUMN cg_fun_module.api_package_name
IS '参数包名'
;
COMMENT ON COLUMN cg_fun_module.sort_order
IS '排序'
;
COMMENT ON COLUMN cg_fun_module.describe
IS '描述'
;
COMMENT ON TABLE cg_fun_operation
IS '操作配置'
;
COMMENT ON COLUMN cg_fun_operation.id
IS 'id'
;
COMMENT ON COLUMN cg_fun_operation.module_id
IS '模块ID'
;
COMMENT ON COLUMN cg_fun_operation.item_id
IS '功能ID(表主键ID)'
;
COMMENT ON COLUMN cg_fun_operation.is_green_light
IS '直接放行'
;
COMMENT ON COLUMN cg_fun_operation.operation_id
IS '操作ID'
;
COMMENT ON COLUMN cg_fun_operation.operation_code
IS '操作编码'
;
COMMENT ON COLUMN cg_fun_operation.fun_name
IS '操作名称'
;
COMMENT ON COLUMN cg_fun_operation.fun_type
IS '操作类型>>查>>改>>删>>增'
;
COMMENT ON COLUMN cg_fun_operation.request_type
IS '请求类型'
;
COMMENT ON COLUMN cg_fun_operation.is_req_params
IS '是否需要请求参数'
;
COMMENT ON COLUMN cg_fun_operation.is_res_params
IS '是否需要响应参数'
;
COMMENT ON COLUMN cg_fun_operation.is_page
IS '是否分页'
;
COMMENT ON COLUMN cg_fun_operation.path_params
IS '路径参数(与请求参数true互斥)'
;
COMMENT ON COLUMN cg_fun_operation.usable_config
IS '可配置数据类型json[]'
;
COMMENT ON COLUMN cg_fun_operation.field_config
IS '可配置字段'
;
COMMENT ON COLUMN cg_fun_operation.sort_order
IS '排序'
;
COMMENT ON COLUMN cg_fun_operation.describe
IS '说明说明'
;
COMMENT ON TABLE cg_menu
IS '菜单'
;
COMMENT ON COLUMN cg_menu.id
IS '主键ID'
;
COMMENT ON COLUMN cg_menu.client_type
IS '客户端类型:0 PC端,1 小程序端,2 H5端'
;
COMMENT ON COLUMN cg_menu.menu_name
IS '菜单名称'
;
COMMENT ON COLUMN cg_menu.parent_id
IS '父菜单ID'
;
COMMENT ON COLUMN cg_menu.fun_id
IS '操作ID/来自操作表'
;
COMMENT ON COLUMN cg_menu.menu_type
IS '0菜单1按钮'
;
COMMENT ON COLUMN cg_menu.path
IS '路由路径'
;
COMMENT ON COLUMN cg_menu.icon
IS '菜单图标'
;
COMMENT ON COLUMN cg_menu.is_tenant
IS '是否租户'
;
COMMENT ON COLUMN cg_menu.is_hide
IS '是否隐藏'
;
COMMENT ON COLUMN cg_menu.sort_order
IS '排序'
;
COMMENT ON TABLE cg_role
IS '角色表'
;
COMMENT ON COLUMN cg_role.id
IS '主键ID'
;
COMMENT ON COLUMN cg_role.role_name
IS '角色名称'
;
COMMENT ON COLUMN cg_role.role_type
IS '角色类型 0平台 1套餐'
;
COMMENT ON TABLE cg_role_fun
IS '角色权限表'
;
COMMENT ON COLUMN cg_role_fun.id
IS '主键ID'
;
COMMENT ON COLUMN cg_role_fun.role_id
IS '角色ID'
;
COMMENT ON COLUMN cg_role_fun.fun_id
IS '操作ID'
;
COMMENT ON COLUMN cg_role_fun.data_scope
IS '数据权限默认:0无'
;
COMMENT ON COLUMN cg_role_fun.assign_data_scope
IS '指定的数据权限范围'
;
COMMENT ON COLUMN cg_role_fun.exclude_field
IS '排除的字段'
;
COMMENT ON COLUMN cg_role_fun.client_type
IS '客户端类型:0 PC端,1 小程序端,2 H5端'
;
COMMENT ON COLUMN cg_template.id
IS '主键ID'
;
COMMENT ON COLUMN cg_template.is_use
IS '是否使用'
;
COMMENT ON COLUMN cg_template.template_name
IS '模板名称'
;
COMMENT ON COLUMN cg_template.template_type
IS '模板类型'
;
COMMENT ON COLUMN cg_template.content
IS '正文'
;
CREATE SEQUENCE cg_template_id_seq INCREMENT 1 START 1
;