generated from youfool-project/youfool-prj-springboot3-template
165 lines
7.5 KiB
MySQL
165 lines
7.5 KiB
MySQL
|
|
-- ============================================================================
|
|||
|
|
-- OARMS - 系统管理模块 DDL
|
|||
|
|
-- Database: DM8 (达梦)
|
|||
|
|
-- Schema: OARMS
|
|||
|
|
-- Version: V11.0.0
|
|||
|
|
-- Date: 2026-05-24
|
|||
|
|
-- Description: 用户/角色/权限管理(RBAC)
|
|||
|
|
-- ============================================================================
|
|||
|
|
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
-- 1. sys_user - 系统用户表
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
CREATE TABLE OARMS.SYS_USER (
|
|||
|
|
id VARCHAR(50) NOT NULL,
|
|||
|
|
username VARCHAR(50) NOT NULL,
|
|||
|
|
password VARCHAR(100) NOT NULL,
|
|||
|
|
real_name VARCHAR(50),
|
|||
|
|
phone VARCHAR(20),
|
|||
|
|
org_name VARCHAR(100),
|
|||
|
|
district_code VARCHAR(20),
|
|||
|
|
status TINYINT NOT NULL DEFAULT 1,
|
|||
|
|
create_by VARCHAR(50),
|
|||
|
|
create_time TIMESTAMP,
|
|||
|
|
create_name VARCHAR(50),
|
|||
|
|
update_by VARCHAR(50),
|
|||
|
|
update_time TIMESTAMP,
|
|||
|
|
update_name VARCHAR(50),
|
|||
|
|
PRIMARY KEY (id)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE UNIQUE INDEX IDX_SYS_USER_USERNAME ON OARMS.SYS_USER (USERNAME);
|
|||
|
|
CREATE INDEX IDX_SYS_USER_STATUS ON OARMS.SYS_USER (STATUS);
|
|||
|
|
CREATE INDEX IDX_SYS_USER_DISTRICT ON OARMS.SYS_USER (DISTRICT_CODE);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE OARMS.SYS_USER IS '系统用户';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.ID IS '主键ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.USERNAME IS '登录用户名';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.PASSWORD IS '密码(BCrypt)';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.REAL_NAME IS '真实姓名';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.PHONE IS '联系电话';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.ORG_NAME IS '所属单位';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.DISTRICT_CODE IS '所属区域编码';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.STATUS IS '状态(1=正常,0=停用)';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.CREATE_BY IS '创建人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.CREATE_TIME IS '创建时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.CREATE_NAME IS '创建人姓名';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.UPDATE_BY IS '更新人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.UPDATE_TIME IS '更新时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER.UPDATE_NAME IS '更新人姓名';
|
|||
|
|
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
-- 2. sys_role - 系统角色表
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
CREATE TABLE OARMS.SYS_ROLE (
|
|||
|
|
id VARCHAR(50) NOT NULL,
|
|||
|
|
role_code VARCHAR(30) NOT NULL,
|
|||
|
|
role_name VARCHAR(50) NOT NULL,
|
|||
|
|
description VARCHAR(200),
|
|||
|
|
status TINYINT NOT NULL DEFAULT 1,
|
|||
|
|
create_by VARCHAR(50),
|
|||
|
|
create_time TIMESTAMP,
|
|||
|
|
create_name VARCHAR(50),
|
|||
|
|
update_by VARCHAR(50),
|
|||
|
|
update_time TIMESTAMP,
|
|||
|
|
update_name VARCHAR(50),
|
|||
|
|
PRIMARY KEY (id)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE UNIQUE INDEX IDX_SYS_ROLE_CODE ON OARMS.SYS_ROLE (ROLE_CODE);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE OARMS.SYS_ROLE IS '系统角色';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.ID IS '主键ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.ROLE_CODE IS '角色编码';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.ROLE_NAME IS '角色名称';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.DESCRIPTION IS '角色描述';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.STATUS IS '状态(1=正常,0=停用)';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.CREATE_BY IS '创建人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.CREATE_TIME IS '创建时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.CREATE_NAME IS '创建人姓名';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.UPDATE_BY IS '更新人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.UPDATE_TIME IS '更新时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE.UPDATE_NAME IS '更新人姓名';
|
|||
|
|
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
-- 3. sys_user_role - 用户角色关联表
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
CREATE TABLE OARMS.SYS_USER_ROLE (
|
|||
|
|
id VARCHAR(50) NOT NULL,
|
|||
|
|
user_id VARCHAR(50) NOT NULL,
|
|||
|
|
role_id VARCHAR(50) NOT NULL,
|
|||
|
|
create_by VARCHAR(50),
|
|||
|
|
create_time TIMESTAMP,
|
|||
|
|
create_name VARCHAR(50),
|
|||
|
|
PRIMARY KEY (id)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE INDEX IDX_SYS_USER_ROLE_UID ON OARMS.SYS_USER_ROLE (USER_ID);
|
|||
|
|
CREATE INDEX IDX_SYS_USER_ROLE_RID ON OARMS.SYS_USER_ROLE (ROLE_ID);
|
|||
|
|
CREATE UNIQUE INDEX IDX_SYS_USER_ROLE_UK ON OARMS.SYS_USER_ROLE (USER_ID, ROLE_ID);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE OARMS.SYS_USER_ROLE IS '用户角色关联';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.ID IS '主键ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.USER_ID IS '用户ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.ROLE_ID IS '角色ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.CREATE_BY IS '创建人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.CREATE_TIME IS '创建时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_USER_ROLE.CREATE_NAME IS '创建人姓名';
|
|||
|
|
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
-- 4. sys_permission - 系统权限表
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
CREATE TABLE OARMS.SYS_PERMISSION (
|
|||
|
|
id VARCHAR(50) NOT NULL,
|
|||
|
|
perm_code VARCHAR(50) NOT NULL,
|
|||
|
|
perm_name VARCHAR(100) NOT NULL,
|
|||
|
|
module VARCHAR(30),
|
|||
|
|
create_by VARCHAR(50),
|
|||
|
|
create_time TIMESTAMP,
|
|||
|
|
create_name VARCHAR(50),
|
|||
|
|
update_by VARCHAR(50),
|
|||
|
|
update_time TIMESTAMP,
|
|||
|
|
update_name VARCHAR(50),
|
|||
|
|
PRIMARY KEY (id)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE UNIQUE INDEX IDX_SYS_PERM_CODE ON OARMS.SYS_PERMISSION (PERM_CODE);
|
|||
|
|
CREATE INDEX IDX_SYS_PERM_MODULE ON OARMS.SYS_PERMISSION (MODULE);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE OARMS.SYS_PERMISSION IS '系统权限';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.ID IS '主键ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.PERM_CODE IS '权限编码';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.PERM_NAME IS '权限名称';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.MODULE IS '所属模块';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.CREATE_BY IS '创建人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.CREATE_TIME IS '创建时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.CREATE_NAME IS '创建人姓名';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.UPDATE_BY IS '更新人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.UPDATE_TIME IS '更新时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_PERMISSION.UPDATE_NAME IS '更新人姓名';
|
|||
|
|
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
-- 5. sys_role_permission - 角色权限关联表
|
|||
|
|
-- ----------------------------------------------------------------------------
|
|||
|
|
CREATE TABLE OARMS.SYS_ROLE_PERMISSION (
|
|||
|
|
id VARCHAR(50) NOT NULL,
|
|||
|
|
role_id VARCHAR(50) NOT NULL,
|
|||
|
|
perm_id VARCHAR(50) NOT NULL,
|
|||
|
|
create_by VARCHAR(50),
|
|||
|
|
create_time TIMESTAMP,
|
|||
|
|
create_name VARCHAR(50),
|
|||
|
|
PRIMARY KEY (id)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE INDEX IDX_SYS_ROLE_PERM_RID ON OARMS.SYS_ROLE_PERMISSION (ROLE_ID);
|
|||
|
|
CREATE INDEX IDX_SYS_ROLE_PERM_PID ON OARMS.SYS_ROLE_PERMISSION (PERM_ID);
|
|||
|
|
CREATE UNIQUE INDEX IDX_SYS_ROLE_PERM_UK ON OARMS.SYS_ROLE_PERMISSION (ROLE_ID, PERM_ID);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE OARMS.SYS_ROLE_PERMISSION IS '角色权限关联';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.ID IS '主键ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.ROLE_ID IS '角色ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.PERM_ID IS '权限ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.CREATE_BY IS '创建人ID';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.CREATE_TIME IS '创建时间';
|
|||
|
|
COMMENT ON COLUMN OARMS.SYS_ROLE_PERMISSION.CREATE_NAME IS '创建人姓名';
|