更新
This commit is contained in:
1 parent
5718a00e31
commit
1850ac640e
226 files changed
+37772
-12071
No files matched your search
@@ -0,0 +1,32 @@
|
||||
-- =============================================================
|
||||
-- 角色「平台下发 + 租户只读」显式锁定 - 增量迁移
|
||||
--
|
||||
-- 场景:平台端可建 cid=2 且 tenant_id=0 的全局角色下发到租户后台。
|
||||
-- 此前"租户不可改/不可删"的判定绑死在 tenant_id==0 上,
|
||||
-- 一是无法表达"落到具体租户头上但仍只读",
|
||||
-- 二是后端看 tenant_id、前端看 is_custom,两处口径不一致会漂移。
|
||||
-- 本迁移把锁定语义收敛为独立列 is_locked。
|
||||
--
|
||||
-- 执行顺序:
|
||||
-- 1) 加 is_locked / source_role_id 两列
|
||||
-- 2) 回填:现存全局租户角色(cid=2 且 tenant_id=0)标记为锁定,
|
||||
-- 保证代码改用 is_locked 判定后,这两个角色不会突然变得可被租户改写。
|
||||
--
|
||||
-- 注意:MySQL 不支持 ADD COLUMN IF NOT EXISTS,本脚本重复执行会在第 1 步
|
||||
-- 报 Duplicate column name 并停止,属预期,不会破坏已回填的数据。
|
||||
-- =============================================================
|
||||
|
||||
-- 1. 角色表补锁定列
|
||||
ALTER TABLE `yz_system_admin_role`
|
||||
ADD COLUMN `is_locked` TINYINT UNSIGNED NOT NULL DEFAULT 0
|
||||
COMMENT '1=平台下发,租户端只读(不可改名/改权限/删除)' AFTER `is_custom`,
|
||||
ADD COLUMN `source_role_id` BIGINT UNSIGNED NOT NULL DEFAULT 0
|
||||
COMMENT '来源角色ID(平台下发时记录,0=非下发)' AFTER `is_locked`;
|
||||
|
||||
-- 2. 回填存量全局租户角色
|
||||
UPDATE `yz_system_admin_role`
|
||||
SET `is_locked` = 1
|
||||
WHERE `cid` = 2
|
||||
AND `tenant_id` = 0
|
||||
AND `delete_time` IS NULL
|
||||
AND `is_locked` = 0;
|
||||
Reference in new issue
Block a user