批量修复,增加组织架构
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
-- 为员工表添加工资卡信息和密码字段
|
||||
-- 创建时间: 2025
|
||||
|
||||
SET @dbname = DATABASE();
|
||||
SET @tablename = 'yz_tenant_employees';
|
||||
|
||||
-- 添加工资卡开户行字段
|
||||
SET @columnname = 'bank_name';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column bank_name already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN bank_name VARCHAR(100) DEFAULT NULL COMMENT ''工资卡开户行'' AFTER position_id;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加工资卡卡号字段
|
||||
SET @columnname = 'bank_account';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column bank_account already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN bank_account VARCHAR(50) DEFAULT NULL COMMENT ''工资卡卡号'' AFTER bank_name;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加登录密码字段
|
||||
SET @columnname = 'password';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column password already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN password VARCHAR(255) DEFAULT NULL COMMENT ''登录密码(加密后)'' AFTER bank_account;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加盐值字段
|
||||
SET @columnname = 'salt';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column salt already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN salt VARCHAR(100) DEFAULT NULL COMMENT ''密码盐值'' AFTER password;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加最后登录时间字段
|
||||
SET @columnname = 'last_login_time';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column last_login_time already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN last_login_time DATETIME DEFAULT NULL COMMENT ''最后登录时间'' AFTER salt;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加最后登录IP字段
|
||||
SET @columnname = 'last_login_ip';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column last_login_ip already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN last_login_ip VARCHAR(50) DEFAULT NULL COMMENT ''最后登录IP'' AFTER last_login_time;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
-- 为菜单表添加 delete_time 字段(软删除)
|
||||
-- 如果字段已存在,则不会重复添加
|
||||
|
||||
SET @dbname = DATABASE();
|
||||
SET @tablename = 'yz_menus';
|
||||
SET @columnname = 'delete_time';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column delete_time already exists in yz_menus" AS "";',
|
||||
'ALTER TABLE yz_menus ADD COLUMN delete_time DATETIME DEFAULT NULL COMMENT ''删除时间(软删除)'' AFTER update_time;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加索引以优化查询性能
|
||||
SET @indexname = 'idx_delete_time';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (INDEX_NAME = @indexname)
|
||||
) > 0,
|
||||
'SELECT "Index idx_delete_time already exists in yz_menus" AS "";',
|
||||
'ALTER TABLE yz_menus ADD INDEX idx_delete_time (delete_time);'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
-- 添加组织架构管理菜单
|
||||
-- 注意:请根据实际情况修改 parent_id(92 是 OA 模块的 ID,请确认)
|
||||
|
||||
INSERT INTO yz_menus (name, path, parent_id, icon, `order`, status, component_path, menu_type, description)
|
||||
VALUES ('组织架构', '/apps/oa/organization', 92, 'fa-solid fa-sitemap', 1, 1, '@/views/apps/oa/organization/index.vue', 1, '组织架构管理(部门与职位)')
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name = VALUES(name),
|
||||
path = VALUES(path),
|
||||
icon = VALUES(icon),
|
||||
`order` = VALUES(`order`),
|
||||
status = VALUES(status),
|
||||
component_path = VALUES(component_path),
|
||||
menu_type = VALUES(menu_type),
|
||||
description = VALUES(description);
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
-- 创建OA模块相关表(租户应用)
|
||||
-- 创建时间: 2025
|
||||
-- 描述: 创建租户部门表、租户职位表和租户员工表
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =============================================
|
||||
-- 1. 创建租户部门表
|
||||
-- =============================================
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_departments (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '部门ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '部门名称',
|
||||
code VARCHAR(50) DEFAULT NULL COMMENT '部门编码',
|
||||
parent_id INT DEFAULT 0 COMMENT '父部门ID,0表示顶级部门',
|
||||
description TEXT DEFAULT NULL COMMENT '部门描述',
|
||||
manager_id INT DEFAULT NULL COMMENT '部门经理ID',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_code (code),
|
||||
INDEX idx_parent_id (parent_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_sort_order (sort_order)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户部门表';
|
||||
|
||||
-- =============================================
|
||||
-- 2. 创建租户职位表
|
||||
-- =============================================
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_positions (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '职位ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '职位名称',
|
||||
code VARCHAR(50) DEFAULT NULL COMMENT '职位编码',
|
||||
department_id INT DEFAULT NULL COMMENT '所属部门ID',
|
||||
level INT DEFAULT 0 COMMENT '职位级别',
|
||||
description TEXT DEFAULT NULL COMMENT '职位描述',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_code (code),
|
||||
INDEX idx_department_id (department_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_sort_order (sort_order)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户职位表';
|
||||
|
||||
-- =============================================
|
||||
-- 3. 创建租户员工表(如果不存在)
|
||||
-- =============================================
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_employees (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '员工ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
employee_no VARCHAR(50) NOT NULL COMMENT '工号',
|
||||
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
||||
phone VARCHAR(20) DEFAULT NULL COMMENT '手机号',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
||||
department_id INT DEFAULT NULL COMMENT '部门ID',
|
||||
position_id INT DEFAULT NULL COMMENT '职位ID',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-在职,0-离职',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_employee_no (employee_no),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_department_id (department_id),
|
||||
INDEX idx_position_id (position_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户员工表';
|
||||
|
||||
-- =============================================
|
||||
-- 4. 更新用户表,添加部门和职位字段(如果不存在)
|
||||
-- =============================================
|
||||
-- 检查并添加 department_id 字段
|
||||
SET @dbname = DATABASE();
|
||||
SET @tablename = 'yz_users';
|
||||
SET @columnname = 'department_id';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column department_id already exists in yz_users" AS "";',
|
||||
'ALTER TABLE yz_users ADD COLUMN department_id INT DEFAULT NULL COMMENT ''部门ID'' AFTER role;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 检查并添加 position_id 字段
|
||||
SET @columnname = 'position_id';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column position_id already exists in yz_users" AS "";',
|
||||
'ALTER TABLE yz_users ADD COLUMN position_id INT DEFAULT NULL COMMENT ''职位ID'' AFTER department_id;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- =============================================
|
||||
-- 5. 更新租户员工表,添加部门和职位字段(如果不存在)
|
||||
-- =============================================
|
||||
-- 检查并添加 department_id 字段
|
||||
SET @tablename = 'yz_tenant_employees';
|
||||
SET @columnname = 'department_id';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column department_id already exists in yz_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN department_id INT DEFAULT NULL COMMENT ''部门ID'' AFTER email;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 检查并添加 position_id 字段
|
||||
SET @columnname = 'position_id';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE
|
||||
(TABLE_SCHEMA = @dbname)
|
||||
AND (TABLE_NAME = @tablename)
|
||||
AND (COLUMN_NAME = @columnname)
|
||||
) > 0,
|
||||
'SELECT "Column position_id already exists in yz_tenant_employees" AS "";',
|
||||
'ALTER TABLE yz_tenant_employees ADD COLUMN position_id INT DEFAULT NULL COMMENT ''职位ID'' AFTER department_id;'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
-- 创建部门表
|
||||
-- 创建时间: 2025
|
||||
-- 描述: OA系统部门管理表
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 检查并创建租户部门表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_departments (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '部门ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '部门名称',
|
||||
code VARCHAR(50) DEFAULT NULL COMMENT '部门编码',
|
||||
parent_id INT DEFAULT 0 COMMENT '父部门ID,0表示顶级部门',
|
||||
description TEXT DEFAULT NULL COMMENT '部门描述',
|
||||
manager_id INT DEFAULT NULL COMMENT '部门经理ID',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_code (code),
|
||||
INDEX idx_parent_id (parent_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_sort_order (sort_order)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户部门表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
-- 创建员工表
|
||||
-- 创建时间: 2025
|
||||
-- 描述: OA系统员工管理表
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 检查并创建租户员工表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_employees (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '员工ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
employee_no VARCHAR(50) NOT NULL COMMENT '工号',
|
||||
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
||||
phone VARCHAR(20) DEFAULT NULL COMMENT '手机号',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
||||
department_id INT DEFAULT NULL COMMENT '部门ID',
|
||||
position_id INT DEFAULT NULL COMMENT '职位ID',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-在职,0-离职',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_employee_no (employee_no),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_department_id (department_id),
|
||||
INDEX idx_position_id (position_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户员工表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
-- 创建职位表
|
||||
-- 创建时间: 2025
|
||||
-- 描述: OA系统职位管理表
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 检查并创建租户职位表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_tenant_positions (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '职位ID',
|
||||
tenant_id INT NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
name VARCHAR(100) NOT NULL COMMENT '职位名称',
|
||||
code VARCHAR(50) DEFAULT NULL COMMENT '职位编码',
|
||||
department_id INT DEFAULT NULL COMMENT '所属部门ID',
|
||||
level INT DEFAULT 0 COMMENT '职位级别',
|
||||
description TEXT DEFAULT NULL COMMENT '职位描述',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序序号',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
delete_time DATETIME DEFAULT NULL COMMENT '删除时间(软删除)',
|
||||
|
||||
-- 索引
|
||||
INDEX idx_tenant_id (tenant_id),
|
||||
INDEX idx_code (code),
|
||||
INDEX idx_department_id (department_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_sort_order (sort_order)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户职位表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
Reference in New Issue
Block a user