SET NAMES utf8mb4; -- 企业成员管理按钮权限增量;部署后应将权限按需授予企业管理员角色。 USE baiyue_iam; -- 为存量数据库补齐企业内成员编号唯一约束,防止并发重复创建。 SET @member_no_index_sql = IF( EXISTS(SELECT 1 FROM information_schema.statistics WHERE table_schema = DATABASE() AND table_name = 'iam_membership' AND index_name = 'uk_membership_tenant_no'), 'SELECT 1', 'ALTER TABLE iam_membership ADD UNIQUE KEY uk_membership_tenant_no (tenant_id, member_no)' ); PREPARE member_no_index_stmt FROM @member_no_index_sql; EXECUTE member_no_index_stmt; DEALLOCATE PREPARE member_no_index_stmt; INSERT INTO iam_permission (id, tenant_id, app_code, permission_type, parent_id, permission_code, permission_name, sort_no, status, deleted) VALUES (5200023, 10001, 'MERCHANT', 'BUTTON', 5200020, 'merchant:member:edit', '编辑成员', 30, 'ACTIVE', 0), (5200024, 10001, 'MERCHANT', 'BUTTON', 5200020, 'merchant:member:status', '启停成员', 40, 'ACTIVE', 0), (5200025, 10001, 'MERCHANT', 'BUTTON', 5200020, 'merchant:member:reset-password', '重置成员密码', 50, 'ACTIVE', 0), (5300023, 0, 'MERCHANT', 'BUTTON', 5300020, 'merchant:member:edit', '编辑成员', 30, 'ACTIVE', 0), (5300024, 0, 'MERCHANT', 'BUTTON', 5300020, 'merchant:member:status', '启停成员', 40, 'ACTIVE', 0), (5300025, 0, 'MERCHANT', 'BUTTON', 5300020, 'merchant:member:reset-password', '重置成员密码', 50, 'ACTIVE', 0) ON DUPLICATE KEY UPDATE permission_name = VALUES(permission_name), status = VALUES(status), deleted = 0; INSERT INTO iam_role_permission (role_id, permission_id, tenant_id) SELECT 4000101, id, 10001 FROM iam_permission WHERE tenant_id = 10001 AND permission_code IN ('merchant:member:edit', 'merchant:member:status', 'merchant:member:reset-password') ON DUPLICATE KEY UPDATE tenant_id = VALUES(tenant_id); INSERT INTO iam_role_permission (role_id, permission_id, tenant_id) SELECT 4000100, id, 0 FROM iam_permission WHERE tenant_id = 0 AND permission_code IN ('merchant:member:edit', 'merchant:member:status', 'merchant:member:reset-password') ON DUPLICATE KEY UPDATE tenant_id = VALUES(tenant_id);