-- 移除后台角色中的「共享电工(WORKER)」「客户(CUSTOMER)」 -- 背景:电工走 worker 表、客户走 customer_account 表,均为独立账号体系, -- 不存在对应的 sys_user,因此这两个角色挂在后台「用户管理」中是语义错误 -- (选中后永远不会关联到任何后台用户)。后台角色仅保留 ADMIN / SALESMAN。 -- 影响:sys_user_role / sys_role_menu 通过外键 ON DELETE CASCADE 自动清理。 -- 幂等:按 role_code 删除;重复执行无副作用。 BEGIN; DELETE FROM sys_role WHERE role_code IN ('WORKER', 'CUSTOMER'); -- 重置 sys_role 自增序列到当前最大 id,避免后续插入冲突 SELECT setval('sys_role_id_seq', COALESCE((SELECT MAX(id) FROM sys_role), 1), true); COMMIT;