sql更新+dev通用容器
This commit is contained in:
@@ -4,12 +4,20 @@ CREATE TABLE IF NOT EXISTS upms.tb_sys_tenant (
|
||||
parent_tenant_id VARCHAR(64),
|
||||
tenant_name VARCHAR(128) NOT NULL,
|
||||
tenant_type VARCHAR(32) NOT NULL,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
status VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_tenant IS '学校租户表';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.parent_tenant_id IS '父租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.tenant_name IS '租户名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.tenant_type IS '租户类型';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.status IS '租户状态';
|
||||
COMMENT ON COLUMN upms.tb_sys_tenant.created_at IS '创建时间';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_dept (
|
||||
dept_id VARCHAR(64) PRIMARY KEY,
|
||||
@@ -17,20 +25,28 @@ CREATE TABLE IF NOT EXISTS upms.tb_sys_dept (
|
||||
tenant_id VARCHAR(64) NOT NULL,
|
||||
dept_name VARCHAR(128) NOT NULL,
|
||||
dept_type VARCHAR(32) NOT NULL,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
dept_path VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_dept IS '组织部门表';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.dept_id IS '部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.parent_dept_id IS '父部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.dept_name IS '部门名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.dept_type IS '部门类型';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.dept_path IS '部门路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_dept.created_at IS '创建时间';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_user (
|
||||
user_id VARCHAR(64) PRIMARY KEY,
|
||||
username VARCHAR(64) UNIQUE NOT NULL,
|
||||
display_name VARCHAR(128) NOT NULL,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_id VARCHAR(64) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
dept_id VARCHAR(64) NOT NULL,
|
||||
@@ -38,34 +54,64 @@ CREATE TABLE IF NOT EXISTS upms.tb_sys_user (
|
||||
status VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_user IS '系统用户表';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.username IS '用户名';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.display_name IS '显示名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.password_hash IS '密码哈希';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.dept_id IS '部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.dept_path IS '部门路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.status IS '用户状态';
|
||||
COMMENT ON COLUMN upms.tb_sys_user.created_at IS '创建时间';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_role (
|
||||
role_id VARCHAR(64) PRIMARY KEY,
|
||||
role_code VARCHAR(64) UNIQUE NOT NULL,
|
||||
role_name VARCHAR(128) NOT NULL,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_id VARCHAR(64) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
dept_id VARCHAR(64),
|
||||
dept_path VARCHAR(255),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_role IS '角色表';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.role_id IS '角色ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.role_code IS '角色编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.role_name IS '角色名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.dept_id IS '部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.dept_path IS '部门路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_role.created_at IS '创建时间';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_permission (
|
||||
permission_id VARCHAR(64) PRIMARY KEY,
|
||||
permission_code VARCHAR(128) UNIQUE NOT NULL,
|
||||
permission_name VARCHAR(128) NOT NULL,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_id VARCHAR(64) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
dept_id VARCHAR(64),
|
||||
dept_path VARCHAR(255),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_permission IS '权限表';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.permission_id IS '权限ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.permission_code IS '权限编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.permission_name IS '权限名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.dept_id IS '部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.dept_path IS '部门路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_permission.created_at IS '创建时间';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_menu_route (
|
||||
CREATE TABLE IF NOT EXISTS upms.tb_sys_menu (
|
||||
route_id VARCHAR(64) PRIMARY KEY,
|
||||
parent_route_id VARCHAR(64),
|
||||
route_path VARCHAR(255) NOT NULL,
|
||||
@@ -76,16 +122,32 @@ CREATE TABLE IF NOT EXISTS upms.tb_sys_menu_route (
|
||||
icon VARCHAR(64),
|
||||
permission_code VARCHAR(128),
|
||||
hidden BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
province_code VARCHAR(12) NOT NULL,
|
||||
area_code VARCHAR(12) NOT NULL,
|
||||
adcode VARCHAR(12) NOT NULL,
|
||||
tenant_id VARCHAR(64) NOT NULL,
|
||||
tenant_path VARCHAR(255) NOT NULL,
|
||||
dept_id VARCHAR(64),
|
||||
dept_path VARCHAR(255),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE upms.tb_sys_menu IS '菜单表';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.route_id IS '路由ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.parent_route_id IS '父路由ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.route_path IS '路由路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.route_name IS '路由名称';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.component_key IS '组件标识';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.layout_type IS '布局类型';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.title IS '菜单标题';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.icon IS '图标';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.permission_code IS '权限编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.hidden IS '是否隐藏';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.adcode IS '行政区划编码';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.tenant_path IS '租户路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.dept_id IS '部门ID';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.dept_path IS '部门路径';
|
||||
COMMENT ON COLUMN upms.tb_sys_menu.created_at IS '创建时间';
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_sys_tenant_area ON upms.tb_sys_tenant(province_code, area_code);
|
||||
CREATE INDEX IF NOT EXISTS idx_sys_tenant_adcode ON upms.tb_sys_tenant(adcode);
|
||||
CREATE INDEX IF NOT EXISTS idx_dept_tenant ON upms.tb_sys_dept(tenant_id, dept_path);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_tenant ON upms.tb_sys_user(tenant_id, dept_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_route_tenant ON upms.tb_sys_menu_route(tenant_id, route_path);
|
||||
CREATE INDEX IF NOT EXISTS idx_route_tenant ON upms.tb_sys_menu(tenant_id, route_path);
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
INSERT INTO upms.tb_sys_tenant (
|
||||
tenant_id, parent_tenant_id, tenant_name, tenant_type, province_code, area_code, tenant_path
|
||||
tenant_id, parent_tenant_id, tenant_name, tenant_type, adcode, tenant_path
|
||||
) VALUES
|
||||
('SCH-HQ', NULL, 'K12Study 总校', 'HEAD_SCHOOL', '330000', '330100', '/SCH-HQ/'),
|
||||
('SCH-ZJ-HZ-01', 'SCH-HQ', '杭州分校', 'CITY_SCHOOL', '330000', '330100', '/SCH-HQ/SCH-ZJ-HZ-01/')
|
||||
('SCH-HQ', NULL, 'K12Study 总校', 'HEAD_SCHOOL', '330100', '/SCH-HQ/'),
|
||||
('SCH-ZJ-HZ-01', 'SCH-HQ', '杭州分校', 'CITY_SCHOOL', '330100', '/SCH-HQ/SCH-ZJ-HZ-01/')
|
||||
ON CONFLICT (tenant_id) DO NOTHING;
|
||||
|
||||
INSERT INTO upms.tb_sys_dept (
|
||||
dept_id, parent_dept_id, tenant_id, dept_name, dept_type, province_code, area_code, tenant_path, dept_path
|
||||
dept_id, parent_dept_id, tenant_id, dept_name, dept_type, adcode, tenant_path, dept_path
|
||||
) VALUES
|
||||
('DEPT-HQ', NULL, 'SCH-HQ', '总校教学部', 'GRADE', '330000', '330100', '/SCH-HQ/', '/DEPT-HQ/'),
|
||||
('DEPT-HQ-MATH', 'DEPT-HQ', 'SCH-HQ', '数学学科组', 'SUBJECT', '330000', '330100', '/SCH-HQ/', '/DEPT-HQ/DEPT-HQ-MATH/'),
|
||||
('DEPT-HQ-ADMIN', 'DEPT-HQ', 'SCH-HQ', '总校运营组', 'ADMIN', '330000', '330100', '/SCH-HQ/', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
('DEPT-HQ', NULL, 'SCH-HQ', '总校教学部', 'GRADE', '330100', '/SCH-HQ/', '/DEPT-HQ/'),
|
||||
('DEPT-HQ-MATH', 'DEPT-HQ', 'SCH-HQ', '数学学科组', 'SUBJECT', '330100', '/SCH-HQ/', '/DEPT-HQ/DEPT-HQ-MATH/'),
|
||||
('DEPT-HQ-ADMIN', 'DEPT-HQ', 'SCH-HQ', '总校运营组', 'ADMIN', '330100', '/SCH-HQ/', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
ON CONFLICT (dept_id) DO NOTHING;
|
||||
|
||||
INSERT INTO upms.tb_sys_user (
|
||||
user_id, username, display_name, password_hash, province_code, area_code, tenant_id, tenant_path, dept_id, dept_path
|
||||
user_id, username, display_name, password_hash, adcode, tenant_id, tenant_path, dept_id, dept_path
|
||||
) VALUES
|
||||
('U10001', 'admin', 'K12Study 管理员', '$2a$10$bootstrap', '330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
('U10001', 'admin', 'K12Study 管理员', '$2a$10$bootstrap', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
ON CONFLICT (user_id) DO NOTHING;
|
||||
|
||||
INSERT INTO upms.tb_sys_role (
|
||||
role_id, role_code, role_name, province_code, area_code, tenant_id, tenant_path, dept_id, dept_path
|
||||
role_id, role_code, role_name, adcode, tenant_id, tenant_path, dept_id, dept_path
|
||||
) VALUES
|
||||
('ROLE-ORG-ADMIN', 'ORG_ADMIN', '机构管理员', '330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
('ROLE-ORG-ADMIN', 'ORG_ADMIN', '机构管理员', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
ON CONFLICT (role_id) DO NOTHING;
|
||||
|
||||
INSERT INTO upms.tb_sys_permission (
|
||||
permission_id, permission_code, permission_name, province_code, area_code, tenant_id, tenant_path, dept_id, dept_path
|
||||
permission_id, permission_code, permission_name, adcode, tenant_id, tenant_path, dept_id, dept_path
|
||||
) VALUES
|
||||
('PERM-DASHBOARD', 'dashboard:view', '查看控制台', '330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/'),
|
||||
('PERM-TENANT', 'tenant:view', '查看租户组织', '330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
('PERM-DASHBOARD', 'dashboard:view', '查看控制台', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/'),
|
||||
('PERM-TENANT', 'tenant:view', '查看租户组织', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
ON CONFLICT (permission_id) DO NOTHING;
|
||||
|
||||
INSERT INTO upms.tb_sys_menu_route (
|
||||
INSERT INTO upms.tb_sys_menu (
|
||||
route_id, parent_route_id, route_path, route_name, component_key, layout_type, title, icon, permission_code,
|
||||
hidden, province_code, area_code, tenant_id, tenant_path, dept_id, dept_path
|
||||
hidden, adcode, tenant_id, tenant_path, dept_id, dept_path
|
||||
) VALUES
|
||||
('ROUTE-DASHBOARD', NULL, '/', 'dashboard', 'dashboard', 'SIDEBAR', '控制台', 'layout-dashboard', 'dashboard:view', FALSE,
|
||||
'330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/'),
|
||||
'330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/'),
|
||||
('ROUTE-TENANT', NULL, '/tenant', 'tenant-management', 'tenant', 'SIDEBAR', '租户组织', 'building-2', 'tenant:view', FALSE,
|
||||
'330000', '330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
'330100', 'SCH-HQ', '/SCH-HQ/', 'DEPT-HQ-ADMIN', '/DEPT-HQ/DEPT-HQ-ADMIN/')
|
||||
ON CONFLICT (route_id) DO NOTHING;
|
||||
|
||||
Reference in New Issue
Block a user