175 lines
9.6 KiB
SQL
175 lines
9.6 KiB
SQL
-- ============================================================
|
||
-- freedom 系统初始化脚本
|
||
-- 数据库: freedom_db
|
||
-- 目标: 远程 MySQL 124.221.214.237:3306
|
||
-- 说明: 需在数据库外部执行 `CREATE DATABASE` 权限
|
||
-- ============================================================
|
||
|
||
CREATE DATABASE IF NOT EXISTS `freedom_db` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||
USE `freedom_db`;
|
||
|
||
-- 外键约束关闭
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ============================================================
|
||
-- 1. 用户表 t_sys_user
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_user`;
|
||
CREATE TABLE `t_sys_user` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`username` VARCHAR(50) NOT NULL COMMENT '登录用户名',
|
||
`password` VARCHAR(100) NOT NULL COMMENT '登陆密码',
|
||
`encode_type` VARCHAR(20) DEFAULT 'BCRYPT' COMMENT '加密方式(默认BCRYPT)',
|
||
`user_type` VARCHAR(20) DEFAULT NULL COMMENT '用户类型',
|
||
`nickname` VARCHAR(50) DEFAULT NULL COMMENT '用户昵称',
|
||
`avatar` VARCHAR(255) DEFAULT NULL COMMENT '用户头像',
|
||
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
|
||
`email` VARCHAR(100) DEFAULT NULL COMMENT '电子邮箱',
|
||
`signature` VARCHAR(255) DEFAULT NULL COMMENT '个性签名',
|
||
`status` INT DEFAULT 0 COMMENT '状态',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_username` (`username`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||
|
||
-- ============================================================
|
||
-- 2. 部门表 t_sys_dept
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_dept`;
|
||
CREATE TABLE `t_sys_dept` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`parent_id` BIGINT DEFAULT 0 COMMENT '父ID',
|
||
`dept_code` VARCHAR(50) DEFAULT NULL COMMENT '编码',
|
||
`dept_name` VARCHAR(100) NOT NULL COMMENT '名称',
|
||
`dept_desc` VARCHAR(255) DEFAULT NULL COMMENT '描述',
|
||
`level` INT DEFAULT 1 COMMENT '级别',
|
||
`sort` INT DEFAULT 0 COMMENT '排序',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
|
||
|
||
-- ============================================================
|
||
-- 3. 角色表 t_sys_role
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_role`;
|
||
CREATE TABLE `t_sys_role` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`role_name` VARCHAR(50) NOT NULL COMMENT '角色名称',
|
||
`role_code` VARCHAR(50) DEFAULT NULL COMMENT '角色编号',
|
||
`role_desc` VARCHAR(255) DEFAULT NULL COMMENT '角色描述',
|
||
`is_default` VARCHAR(10) DEFAULT '0' COMMENT '默认角色',
|
||
`dept_id` BIGINT DEFAULT NULL COMMENT '该角色归属部门',
|
||
`sort` INT DEFAULT 0 COMMENT '角色排序',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
|
||
|
||
-- ============================================================
|
||
-- 4. 权限表 t_sys_permission
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_permission`;
|
||
CREATE TABLE `t_sys_permission` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`parent_id` BIGINT DEFAULT 0 COMMENT '父ID',
|
||
`permission_code` VARCHAR(50) DEFAULT NULL COMMENT '编码',
|
||
`permission_name` VARCHAR(100) NOT NULL COMMENT '名称',
|
||
`permission_desc` VARCHAR(255) DEFAULT NULL COMMENT '描述',
|
||
`level` INT DEFAULT 1 COMMENT '级别',
|
||
`icon` VARCHAR(100) DEFAULT NULL COMMENT '图标',
|
||
`url` VARCHAR(255) DEFAULT NULL COMMENT '链接地址',
|
||
`component` VARCHAR(255) DEFAULT NULL COMMENT '组件地址',
|
||
`sort` INT DEFAULT 0 COMMENT '排序',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='权限表';
|
||
|
||
-- ============================================================
|
||
-- 5. 角色权限关联表 t_sys_role_permission
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_role_permission`;
|
||
CREATE TABLE `t_sys_role_permission` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`role_id` BIGINT NOT NULL COMMENT '角色ID',
|
||
`permission_id` BIGINT NOT NULL COMMENT '权限ID',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_role_permission_role` (`role_id`),
|
||
KEY `idx_role_permission_perm` (`permission_id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='角色权限关联表';
|
||
|
||
-- ============================================================
|
||
-- 6. 用户角色关联表 t_sys_user_role
|
||
-- ============================================================
|
||
DROP TABLE IF EXISTS `t_sys_user_role`;
|
||
CREATE TABLE `t_sys_user_role` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||
`role_id` BIGINT NOT NULL COMMENT '角色ID',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_user_role_user` (`user_id`),
|
||
KEY `idx_user_role_role` (`role_id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|
||
|
||
-- ============================================================
|
||
-- 基础数据
|
||
-- ============================================================
|
||
|
||
-- 部门:总公司 / 技术部
|
||
INSERT INTO `t_sys_dept` (`id`, `parent_id`, `dept_code`, `dept_name`, `dept_desc`, `level`, `sort`, `create_by`, `create_date`, `del_flag`)
|
||
VALUES
|
||
(1, 0, 'HEAD', '总公司', '总公司', 1, 1, 'admin', NOW(), 0),
|
||
(2, 1, 'TECH', '技术部', '技术部', 2, 1, 'admin', NOW(), 0);
|
||
|
||
-- 用户:admin / 123456 (BCRYPT)
|
||
INSERT INTO `t_sys_user` (`id`, `username`, `password`, `encode_type`, `user_type`, `nickname`, `avatar`, `phone`, `email`, `signature`, `status`, `create_by`, `create_date`, `del_flag`)
|
||
VALUES
|
||
(1, 'admin', '$2a$10$re0cfTCIYGaxSjme0fTNEOk4K4hGNDwYNTjJ3dz6R8SZWfGV994M2', 'BCRYPT', 'SYSTEM', '超级管理员', NULL, '13800000000', 'admin@freedom.com', 'Freedom 系统管理员', 0, 'admin', NOW(), 0);
|
||
|
||
-- 角色:超级管理员
|
||
INSERT INTO `t_sys_role` (`id`, `role_name`, `role_code`, `role_desc`, `is_default`, `dept_id`, `sort`, `create_by`, `create_date`, `del_flag`)
|
||
VALUES
|
||
(1, '超级管理员', 'admin', '超级管理员,拥有所有权限', '1', 1, 1, 'admin', NOW(), 0);
|
||
|
||
-- 权限菜单
|
||
INSERT INTO `t_sys_permission` (`id`, `parent_id`, `permission_code`, `permission_name`, `permission_desc`, `level`, `icon`, `url`, `component`, `sort`, `create_by`, `create_date`, `del_flag`)
|
||
VALUES
|
||
(1, 0, 'system', '系统管理', '系统管理菜单', 1, 'ios-settings', '', '', 1, 'admin', NOW(), 0),
|
||
(2, 1, 'sys:user', '用户管理', '用户管理', 2, 'ios-person', '/sys/user', 'sys/user/user-list', 1, 'admin', NOW(), 0),
|
||
(3, 1, 'sys:role', '角色管理', '角色管理', 2, 'ios-people', '/sys/role', 'sys/role/role-list', 2, 'admin', NOW(), 0),
|
||
(4, 1, 'sys:dept', '部门管理', '部门管理', 2, 'ios-home', '/sys/dept', 'sys/dept/dept-list', 3, 'admin', NOW(), 0),
|
||
(5, 1, 'sys:permission', '权限管理', '权限管理', 2, 'ios-key', '/sys/permission', 'sys/permission/permission-list', 4, 'admin', NOW(), 0);
|
||
|
||
-- 用户-角色关联:admin -> 超级管理员
|
||
INSERT INTO `t_sys_user_role` (`id`, `user_id`, `role_id`, `create_by`, `create_time`)
|
||
VALUES (1, 1, 1, 'admin', NOW());
|
||
|
||
-- 角色-权限关联:超级管理员 -> 所有权限
|
||
INSERT INTO `t_sys_role_permission` (`id`, `role_id`, `permission_id`, `create_by`, `create_date`)
|
||
VALUES
|
||
(1, 1, 1, 'admin', NOW()),
|
||
(2, 1, 2, 'admin', NOW()),
|
||
(3, 1, 3, 'admin', NOW()),
|
||
(4, 1, 4, 'admin', NOW()),
|
||
(5, 1, 5, 'admin', NOW());
|