first commit
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
-- 只创建缺失的表,不重复创建已存在的表
|
||||
-- 适用于部分表已存在的情况
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 检查并创建用户表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_users (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
|
||||
username VARCHAR(50) NOT NULL COMMENT '用户名',
|
||||
password VARCHAR(255) NOT NULL COMMENT '加密后的密码',
|
||||
salt VARCHAR(100) NOT NULL COMMENT '密码盐值',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
avatar VARCHAR(500) DEFAULT NULL COMMENT '头像URL',
|
||||
nickname VARCHAR(50) DEFAULT NULL COMMENT '昵称',
|
||||
role VARCHAR(20) DEFAULT 'user' COMMENT '用户角色:admin-管理员,user-普通用户',
|
||||
status TINYINT DEFAULT 1 COMMENT '用户状态:0-禁用,1-启用',
|
||||
last_login_time DATETIME DEFAULT NULL COMMENT '最后登录时间',
|
||||
last_login_ip VARCHAR(45) DEFAULT NULL COMMENT '最后登录IP',
|
||||
login_count INT DEFAULT 0 COMMENT '登录次数',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_username (username),
|
||||
INDEX idx_email (email),
|
||||
INDEX idx_role (role),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- 检查并创建菜单表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_menus (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '菜单ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '菜单名称',
|
||||
path VARCHAR(255) NOT NULL COMMENT '菜单路径',
|
||||
parent_id INT DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单',
|
||||
level TINYINT DEFAULT 1 COMMENT '菜单层级:1-一级菜单,2-二级菜单,3-三级菜单',
|
||||
full_path VARCHAR(500) DEFAULT NULL COMMENT '完整路径(包含所有父级路径)',
|
||||
is_leaf TINYINT DEFAULT 0 COMMENT '是否叶子节点:0-非叶子节点,1-叶子节点',
|
||||
has_children TINYINT DEFAULT 0 COMMENT '是否有子菜单:0-无子菜单,1-有子菜单',
|
||||
children_count INT DEFAULT 0 COMMENT '子菜单数量',
|
||||
icon VARCHAR(100) DEFAULT NULL COMMENT '菜单图标',
|
||||
order_num INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
component_path VARCHAR(500) DEFAULT NULL COMMENT '组件路径',
|
||||
is_external TINYINT DEFAULT 0 COMMENT '是否外部链接:0-内部路由,1-外部链接',
|
||||
external_url VARCHAR(1000) DEFAULT NULL COMMENT '外部链接地址',
|
||||
menu_type TINYINT DEFAULT 1 COMMENT '菜单类型:1-普通菜单,2-分组菜单,3-按钮菜单',
|
||||
permission VARCHAR(200) DEFAULT NULL COMMENT '权限标识',
|
||||
description VARCHAR(500) DEFAULT NULL COMMENT '菜单描述',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(100) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(100) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_parent_id (parent_id),
|
||||
INDEX idx_level (level),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_order (order_num),
|
||||
INDEX idx_menu_type (menu_type),
|
||||
INDEX idx_full_path (full_path(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='菜单表(增强版)';
|
||||
|
||||
-- 检查并创建程序分类表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_program_category (
|
||||
category_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '分类ID',
|
||||
category_name VARCHAR(100) NOT NULL COMMENT '分类名称',
|
||||
category_desc VARCHAR(500) DEFAULT NULL COMMENT '分类描述',
|
||||
parent_id INT DEFAULT 0 COMMENT '父分类ID,0表示顶级分类',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_parent_id (parent_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序分类表';
|
||||
|
||||
-- 检查并创建程序信息表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_program_info (
|
||||
program_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '程序ID',
|
||||
category_id INT NOT NULL COMMENT '所属分类ID',
|
||||
program_name VARCHAR(200) NOT NULL COMMENT '程序名称',
|
||||
program_desc TEXT COMMENT '程序描述',
|
||||
jump_url VARCHAR(1000) NOT NULL COMMENT '跳转地址',
|
||||
icon_url VARCHAR(1000) DEFAULT NULL COMMENT '程序图标地址',
|
||||
version VARCHAR(50) DEFAULT NULL COMMENT '程序版本',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_category_id (category_id),
|
||||
INDEX idx_status (status),
|
||||
CONSTRAINT yz_fk_program_category FOREIGN KEY (category_id) REFERENCES yz_program_category (category_id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序信息表';
|
||||
|
||||
-- 检查并创建文件表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_files (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '文件ID',
|
||||
tenant_id VARCHAR(64) NOT NULL COMMENT '租户ID',
|
||||
user_id INT NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
|
||||
-- 文件基础信息
|
||||
file_name VARCHAR(255) NOT NULL COMMENT '文件名称',
|
||||
original_name VARCHAR(255) NOT NULL COMMENT '原始文件名',
|
||||
file_path VARCHAR(500) NOT NULL COMMENT '文件存储路径',
|
||||
file_url VARCHAR(500) COMMENT '文件访问URL',
|
||||
file_size BIGINT NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
|
||||
file_type VARCHAR(50) NOT NULL COMMENT '文件类型',
|
||||
file_ext VARCHAR(20) NOT NULL COMMENT '文件扩展名',
|
||||
|
||||
-- 分类信息
|
||||
category VARCHAR(100) NOT NULL COMMENT '文件分类',
|
||||
sub_category VARCHAR(100) COMMENT '子分类',
|
||||
|
||||
-- 状态信息
|
||||
status TINYINT DEFAULT 1 COMMENT '状态(1:正常, 0:删除)',
|
||||
is_public TINYINT DEFAULT 0 COMMENT '是否公开(1:是, 0:否)',
|
||||
|
||||
-- 上传信息
|
||||
upload_by VARCHAR(100) NOT NULL COMMENT '上传人',
|
||||
upload_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant (tenant_id),
|
||||
INDEX idx_user (user_id),
|
||||
INDEX idx_category (category),
|
||||
INDEX idx_upload_time (upload_time),
|
||||
INDEX idx_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 完成创建
|
||||
SELECT 'Missing tables created successfully!' as message;
|
||||
@@ -0,0 +1,18 @@
|
||||
-- 删除现有表并重新创建
|
||||
-- 注意:这会删除所有数据,请谨慎使用
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 删除现有表(按依赖关系顺序)
|
||||
DROP TABLE IF EXISTS yz_user_role_relations;
|
||||
DROP TABLE IF EXISTS yz_user_roles;
|
||||
DROP TABLE IF EXISTS yz_files;
|
||||
DROP TABLE IF EXISTS yz_program_info;
|
||||
DROP TABLE IF EXISTS yz_program_category;
|
||||
DROP TABLE IF EXISTS yz_menus;
|
||||
DROP TABLE IF EXISTS yz_users;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 现在可以重新运行 init_database.sql
|
||||
SELECT 'Tables dropped successfully. You can now run init_database.sql' as message;
|
||||
@@ -0,0 +1,195 @@
|
||||
-- 云泽系统数据库初始化脚本
|
||||
-- 创建时间: 2024
|
||||
-- 描述: 包含所有系统表的创建和初始化数据
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =============================================
|
||||
-- 1. 用户相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建用户表
|
||||
CREATE TABLE yz_users (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
|
||||
username VARCHAR(50) NOT NULL COMMENT '用户名',
|
||||
password VARCHAR(255) NOT NULL COMMENT '加密后的密码',
|
||||
salt VARCHAR(100) NOT NULL COMMENT '密码盐值',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
avatar VARCHAR(500) DEFAULT NULL COMMENT '头像URL',
|
||||
nickname VARCHAR(50) DEFAULT NULL COMMENT '昵称',
|
||||
role VARCHAR(20) DEFAULT 'user' COMMENT '用户角色:admin-管理员,user-普通用户',
|
||||
status TINYINT DEFAULT 1 COMMENT '用户状态:0-禁用,1-启用',
|
||||
last_login_time DATETIME DEFAULT NULL COMMENT '最后登录时间',
|
||||
last_login_ip VARCHAR(45) DEFAULT NULL COMMENT '最后登录IP',
|
||||
login_count INT DEFAULT 0 COMMENT '登录次数',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_username (username),
|
||||
INDEX idx_email (email),
|
||||
INDEX idx_role (role),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- =============================================
|
||||
-- 2. 菜单相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建菜单表(增强版,包含完整父子级别参数)
|
||||
CREATE TABLE yz_menus (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '菜单ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '菜单名称',
|
||||
path VARCHAR(255) NOT NULL COMMENT '菜单路径',
|
||||
parent_id INT DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单',
|
||||
icon VARCHAR(100) DEFAULT NULL COMMENT '菜单图标',
|
||||
order INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
component_path VARCHAR(500) DEFAULT NULL COMMENT '组件路径',
|
||||
is_external TINYINT DEFAULT 0 COMMENT '是否外部链接:0-内部路由,1-外部链接',
|
||||
external_url VARCHAR(1000) DEFAULT NULL COMMENT '外部链接地址',
|
||||
menu_type TINYINT DEFAULT 1 COMMENT '菜单类型:1-普通菜单,2-分组菜单,3-按钮菜单',
|
||||
permission VARCHAR(200) DEFAULT NULL COMMENT '权限标识',
|
||||
description VARCHAR(500) DEFAULT NULL COMMENT '菜单描述',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(100) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(100) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_parent_id (parent_id),
|
||||
INDEX idx_level (level),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_order (order_num),
|
||||
INDEX idx_menu_type (menu_type),
|
||||
INDEX idx_full_path (full_path(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='菜单表(增强版)';
|
||||
|
||||
-- =============================================
|
||||
-- 3. 程序管理相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建程序分类表
|
||||
CREATE TABLE yz_program_category (
|
||||
category_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '分类ID',
|
||||
category_name VARCHAR(100) NOT NULL COMMENT '分类名称',
|
||||
category_desc VARCHAR(500) DEFAULT NULL COMMENT '分类描述',
|
||||
parent_id INT DEFAULT 0 COMMENT '父分类ID,0表示顶级分类',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_parent_id (parent_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序分类表';
|
||||
|
||||
-- 创建程序信息表
|
||||
CREATE TABLE yz_program_info (
|
||||
program_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '程序ID',
|
||||
category_id INT NOT NULL COMMENT '所属分类ID',
|
||||
program_name VARCHAR(200) NOT NULL COMMENT '程序名称',
|
||||
program_desc TEXT COMMENT '程序描述',
|
||||
jump_url VARCHAR(1000) NOT NULL COMMENT '跳转地址',
|
||||
icon_url VARCHAR(1000) DEFAULT NULL COMMENT '程序图标地址',
|
||||
version VARCHAR(50) DEFAULT NULL COMMENT '程序版本',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_category_id (category_id),
|
||||
INDEX idx_status (status),
|
||||
CONSTRAINT yz_fk_program_category FOREIGN KEY (category_id) REFERENCES yz_program_category (category_id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序信息表';
|
||||
|
||||
-- =============================================
|
||||
-- 4. 文件管理相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建文件表
|
||||
CREATE TABLE yz_files (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '文件ID',
|
||||
tenant_id VARCHAR(64) NOT NULL COMMENT '租户ID',
|
||||
user_id INT NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
|
||||
-- 文件基础信息
|
||||
file_name VARCHAR(255) NOT NULL COMMENT '文件名称',
|
||||
original_name VARCHAR(255) NOT NULL COMMENT '原始文件名',
|
||||
file_path VARCHAR(500) NOT NULL COMMENT '文件存储路径',
|
||||
file_url VARCHAR(500) COMMENT '文件访问URL',
|
||||
file_size BIGINT NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
|
||||
file_type VARCHAR(50) NOT NULL COMMENT '文件类型',
|
||||
file_ext VARCHAR(20) NOT NULL COMMENT '文件扩展名',
|
||||
|
||||
-- 分类信息
|
||||
category VARCHAR(100) NOT NULL COMMENT '文件分类',
|
||||
sub_category VARCHAR(100) COMMENT '子分类',
|
||||
|
||||
-- 状态信息
|
||||
status TINYINT DEFAULT 1 COMMENT '状态(1:正常, 0:删除)',
|
||||
is_public TINYINT DEFAULT 0 COMMENT '是否公开(1:是, 0:否)',
|
||||
|
||||
-- 上传信息
|
||||
upload_by VARCHAR(100) NOT NULL COMMENT '上传人',
|
||||
upload_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant (tenant_id),
|
||||
INDEX idx_user (user_id),
|
||||
INDEX idx_category (category),
|
||||
INDEX idx_upload_time (upload_time),
|
||||
INDEX idx_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
|
||||
|
||||
-- =============================================
|
||||
-- 5. 插入初始数据
|
||||
-- =============================================
|
||||
|
||||
-- 插入默认管理员用户
|
||||
-- 注意:实际使用时需要生成真实的加密密码和盐值
|
||||
INSERT INTO yz_users (username, password, salt, email, nickname, role, status, create_by) VALUES
|
||||
('admin', 'encrypted_password_here', 'salt_here', 'admin@yunzer.com', '超级管理员', 'admin', 1, 'system'),
|
||||
('test', 'encrypted_password_here', 'salt_here', 'test@yunzer.com', '测试用户', 'user', 1, 'system');
|
||||
|
||||
-- 插入默认菜单数据
|
||||
INSERT INTO yz_menus (name, path, parent_id, icon, `order`, status, component_path, menu_type, description) VALUES
|
||||
('仪表盘', '/dashboard', 0, 'fa-solid fa-gauge', 1, 1, '@/views/dashboard/index.vue', 1, '系统仪表盘,展示关键指标'),
|
||||
('系统管理', '/system', 0, 'fa-solid fa-screwdriver-wrench', 4, 1, null, 2, '系统管理功能模块'),
|
||||
('系统设置', '/settings', 0, 'fa-solid fa-gear', 99, 1, '@/views/settings/index.vue', 1, '系统参数设置'),
|
||||
('应用管理', '/apps', 0, 'fa-solid fa-gear', 4, 1, null, 2, '应用管理功能模块'),
|
||||
('文件管理', '/system/files', 2, 'fa-solid fa-folder', 3, 1, '@/views/system/files/index.vue', 1, '文件管理系统'),
|
||||
('用户管理', '/system/users', 2, 'fa-solid fa-user', 1, 1, '@/views/system/users/index.vue', 1, '用户信息管理'),
|
||||
('角色管理', '/system/roles', 2, 'fa-solid fa-user-tag', 2, 1, '@/views/system/roles/index.vue', 1, '角色权限管理'),
|
||||
('权限管理', '/system/permissions', 2, 'fa-solid fa-key', 2, 1, '@/views/system/permissions/index.vue', 1, '权限管理'),
|
||||
('菜单管理', '/system/menus', 2, 'fa-solid fa-bars-progress', 2, 1, '@/views/system/menus/manager.vue', 1, '菜单权限管理'),
|
||||
('程序管理', '/system/programs', 2, 'fa-solid fa-cpu', 3, 1, '@/views/system/programs/index.vue', 1, '程序功能管理'),
|
||||
('知识库', '/apps/knowledge', 4, 'fa-solid fa-book', 1, 1, '@/views/apps/knowledge/index.vue', 1, '知识库管理');
|
||||
|
||||
-- 插入默认程序分类
|
||||
INSERT INTO yz_program_category (category_name, category_desc, parent_id, sort_order) VALUES
|
||||
('办公软件', '办公相关程序', 0, 1),
|
||||
('开发工具', '开发相关工具', 0, 2),
|
||||
('系统工具', '系统管理工具', 0, 3);
|
||||
|
||||
-- 插入默认程序信息
|
||||
INSERT INTO yz_program_info (category_id, program_name, program_desc, jump_url, icon_url, version, status, sort_order) VALUES
|
||||
(1, '文档编辑器', '在线文档编辑工具', '/editor', '/icons/editor.png', '1.0.0', 1, 1),
|
||||
(2, '代码编辑器', '在线代码编辑工具', '/code', '/icons/code.png', '1.0.0', 1, 1),
|
||||
(3, '系统监控', '系统状态监控工具', '/monitor', '/icons/monitor.png', '1.0.0', 1, 1);
|
||||
|
||||
-- 恢复外键检查
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 完成初始化
|
||||
SELECT 'Database initialization completed successfully!' as message;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
CREATE TABLE yz_files (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '文件ID',
|
||||
tenant_id VARCHAR(64) NOT NULL COMMENT '租户ID',
|
||||
user_id INT NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
|
||||
-- 文件基础信息
|
||||
file_name VARCHAR(255) NOT NULL COMMENT '文件名称',
|
||||
original_name VARCHAR(255) NOT NULL COMMENT '原始文件名',
|
||||
file_path VARCHAR(500) NOT NULL COMMENT '文件存储路径',
|
||||
file_url VARCHAR(500) COMMENT '文件访问URL',
|
||||
file_size BIGINT NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
|
||||
file_type VARCHAR(50) NOT NULL COMMENT '文件类型',
|
||||
file_ext VARCHAR(20) NOT NULL COMMENT '文件扩展名',
|
||||
|
||||
-- 分类信息
|
||||
category VARCHAR(100) NOT NULL COMMENT '文件分类',
|
||||
sub_category VARCHAR(100) COMMENT '子分类',
|
||||
|
||||
-- 状态信息
|
||||
status TINYINT DEFAULT 1 COMMENT '状态(1:正常, 0:删除)',
|
||||
is_public TINYINT DEFAULT 0 COMMENT '是否公开(1:是, 0:否)',
|
||||
|
||||
-- 上传信息
|
||||
upload_by VARCHAR(100) NOT NULL COMMENT '上传人',
|
||||
upload_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant (tenant_id),
|
||||
INDEX idx_user (user_id),
|
||||
INDEX idx_category (category),
|
||||
INDEX idx_upload_time (upload_time),
|
||||
INDEX idx_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
|
||||
@@ -0,0 +1,42 @@
|
||||
-- 创建菜单表(增强版,包含完整父子级别参数)
|
||||
CREATE TABLE `yz_menus` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
|
||||
`name` VARCHAR(100) NOT NULL COMMENT '菜单名称',
|
||||
`path` VARCHAR(255) NOT NULL COMMENT '菜单路径',
|
||||
`parent_id` INT DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单',
|
||||
`level` TINYINT DEFAULT 1 COMMENT '菜单层级:1-一级菜单,2-二级菜单,3-三级菜单',
|
||||
`full_path` VARCHAR(500) DEFAULT NULL COMMENT '完整路径(包含所有父级路径)',
|
||||
`is_leaf` TINYINT DEFAULT 0 COMMENT '是否叶子节点:0-非叶子节点,1-叶子节点',
|
||||
`has_children` TINYINT DEFAULT 0 COMMENT '是否有子菜单:0-无子菜单,1-有子菜单',
|
||||
`children_count` INT DEFAULT 0 COMMENT '子菜单数量',
|
||||
`icon` VARCHAR(100) DEFAULT NULL COMMENT '菜单图标',
|
||||
`order` INT DEFAULT 0 COMMENT '排序序号',
|
||||
`status` TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
`component_path` VARCHAR(500) DEFAULT NULL COMMENT '组件路径',
|
||||
`is_external` TINYINT DEFAULT 0 COMMENT '是否外部链接:0-内部路由,1-外部链接',
|
||||
`external_url` VARCHAR(1000) DEFAULT NULL COMMENT '外部链接地址',
|
||||
`menu_type` TINYINT DEFAULT 1 COMMENT '菜单类型:1-普通菜单,2-分组菜单,3-按钮菜单',
|
||||
`permission` VARCHAR(200) DEFAULT NULL COMMENT '权限标识',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '菜单描述',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_by` VARCHAR(100) DEFAULT NULL COMMENT '创建人',
|
||||
`update_by` VARCHAR(100) DEFAULT NULL COMMENT '更新人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_parent_id` (`parent_id`),
|
||||
KEY `idx_level` (`level`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_order` (`order`),
|
||||
KEY `idx_menu_type` (`menu_type`),
|
||||
KEY `idx_full_path` (`full_path`(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表(增强版)';
|
||||
|
||||
-- 插入默认菜单数据(包含完整父子级别参数)
|
||||
INSERT INTO `yz_menus` (`name`, `path`, `parent_id`, `level`, `full_path`, `is_leaf`, `has_children`, `children_count`, `icon`, `order`, `status`, `component_path`, `menu_type`, `description`) VALUES
|
||||
('仪表盘', '/dashboard', 0, 1, '/dashboard', 1, 0, 0, 'el-icon-monitor', 1, 1, '@/views/dashboard/index.vue', 1, '系统仪表盘,展示关键指标'),
|
||||
('文件管理', '/files', 0, 1, '/files', 1, 0, 0, 'el-icon-folder', 3, 1, '@/views/files/index.vue', 1, '文件管理系统'),
|
||||
('系统管理', '/system', 0, 1, '/system', 0, 1, 3, 'el-icon-setting', 4, 1, null, 2, '系统管理功能模块'),
|
||||
('用户管理', '/system/users', 4, 2, '/system/users', 1, 0, 0, 'el-icon-user', 1, 1, '@/views/system/users/index.vue', 1, '用户信息管理'),
|
||||
('菜单管理', '/system/menus', 4, 2, '/system/menus', 1, 0, 0, 'el-icon-menu', 2, 1, '@/views/system/menumanager.vue', 1, '菜单权限管理'),
|
||||
('程序管理', '/system/programs', 4, 2, '/system/programs', 1, 0, 0, 'el-icon-cpu', 3, 1, '@/views/system/programs/index.vue', 1, '程序功能管理'),
|
||||
('系统设置', '/settings', 0, 1, '/settings', 1, 0, 0, 'el-icon-setting', 99, 1, '@/views/settings/index.vue', 1, '系统参数设置');
|
||||
@@ -0,0 +1,31 @@
|
||||
-- 创建程序分类表
|
||||
CREATE TABLE `yz_program_category` (
|
||||
`category_id` INT NOT NULL AUTO_INCREMENT COMMENT '分类ID',
|
||||
`category_name` VARCHAR(100) NOT NULL COMMENT '分类名称',
|
||||
`category_desc` VARCHAR(500) DEFAULT NULL COMMENT '分类描述',
|
||||
`parent_id` INT DEFAULT 0 COMMENT '父分类ID,0表示顶级分类',
|
||||
`sort_order` INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`category_id`),
|
||||
KEY `idx_parent_id` (`parent_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='程序分类表';
|
||||
|
||||
-- 创建程序信息表
|
||||
CREATE TABLE `yz_program_info` (
|
||||
`program_id` INT NOT NULL AUTO_INCREMENT COMMENT '程序ID',
|
||||
`category_id` INT NOT NULL COMMENT '所属分类ID',
|
||||
`program_name` VARCHAR(200) NOT NULL COMMENT '程序名称',
|
||||
`program_desc` TEXT COMMENT '程序描述',
|
||||
`jump_url` VARCHAR(1000) NOT NULL COMMENT '跳转地址',
|
||||
`icon_url` VARCHAR(1000) DEFAULT NULL COMMENT '程序图标地址',
|
||||
`version` VARCHAR(50) DEFAULT NULL COMMENT '程序版本',
|
||||
`status` TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
`sort_order` INT DEFAULT 0 COMMENT '排序序号,用于展示顺序',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`program_id`),
|
||||
KEY `idx_category_id` (`category_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
CONSTRAINT `yz_fk_program_category` FOREIGN KEY (`category_id`) REFERENCES `yz_program_category` (`category_id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='程序信息表';
|
||||
@@ -0,0 +1,32 @@
|
||||
-- 创建用户表
|
||||
CREATE TABLE yz_users (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
|
||||
username VARCHAR(50) NOT NULL COMMENT '用户名',
|
||||
password VARCHAR(255) NOT NULL COMMENT '加密后的密码',
|
||||
salt VARCHAR(100) NOT NULL COMMENT '密码盐值',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
avatar VARCHAR(500) DEFAULT NULL COMMENT '头像URL',
|
||||
nickname VARCHAR(50) DEFAULT NULL COMMENT '昵称',
|
||||
role VARCHAR(20) DEFAULT 'user' COMMENT '用户角色:admin-管理员,user-普通用户',
|
||||
status TINYINT DEFAULT 1 COMMENT '用户状态:0-禁用,1-启用',
|
||||
last_login_time DATETIME DEFAULT NULL COMMENT '最后登录时间',
|
||||
last_login_ip VARCHAR(45) DEFAULT NULL COMMENT '最后登录IP',
|
||||
login_count INT DEFAULT 0 COMMENT '登录次数',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_username (username),
|
||||
INDEX idx_email (email),
|
||||
INDEX idx_role (role),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- 插入默认管理员用户
|
||||
-- 密码为 yunzer123,已使用scrypt算法加密
|
||||
INSERT INTO yz_users (username, password, salt, email, nickname, role, status, create_by) VALUES
|
||||
('admin', 'encrypted_password_here', 'salt_here', 'admin@yunzer.com', '超级管理员', 'admin', 1, 'system'),
|
||||
('test', 'encrypted_password_here', 'salt_here', 'test@yunzer.com', '测试用户', 'user', 1, 'system');
|
||||
Reference in New Issue
Block a user