Files
freedom-admin/sql/init.sql
T

175 lines
9.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 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());