first commit
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
-- 用户角色关系增加启用状态,并按当前开启的教代会届次初始化历史数据。
|
||||
-- 脚本支持重复执行:字段已存在时不再重复修改表结构。
|
||||
SET @sys_user_role_enable_column_count = (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'sys_user_role'
|
||||
AND COLUMN_NAME = 'enable'
|
||||
);
|
||||
|
||||
SET @sys_user_role_enable_ddl = IF(
|
||||
@sys_user_role_enable_column_count = 0,
|
||||
'ALTER TABLE sys_user_role ADD COLUMN enable TINYINT(1) NOT NULL DEFAULT 1 COMMENT ''是否启用:1启用,0禁用'' AFTER userId',
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE sys_user_role_enable_stmt FROM @sys_user_role_enable_ddl;
|
||||
EXECUTE sys_user_role_enable_stmt;
|
||||
DEALLOCATE PREPARE sys_user_role_enable_stmt;
|
||||
|
||||
-- 普通角色不受教代会届次切换影响,历史数据统一保持启用。
|
||||
UPDATE sys_user_role
|
||||
SET enable = 1
|
||||
WHERE tcSessionId IS NULL OR tcSessionId = '';
|
||||
|
||||
-- 历史教代会届次角色先全部禁用,再只启用当前开启的最新届次。
|
||||
UPDATE sys_user_role
|
||||
SET enable = 0
|
||||
WHERE tcSessionId IS NOT NULL AND tcSessionId <> '';
|
||||
|
||||
SET @current_teacher_congress_session_id = (
|
||||
SELECT id
|
||||
FROM teacher_congress_session
|
||||
WHERE enable = 1
|
||||
ORDER BY startDate DESC, createdAt DESC, id DESC
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
UPDATE sys_user_role
|
||||
SET enable = 1
|
||||
WHERE tcSessionId = @current_teacher_congress_session_id;
|
||||
Reference in New Issue
Block a user