fix(db): guard iam permission id conflicts

This commit is contained in:
2026-09-28 15:45:45 +08:00
parent 08bf8f9a5a
commit 6954932ce3
@@ -13,6 +13,29 @@ SET @guard = IF(
);
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @guard = IF(
EXISTS (
SELECT 1 FROM iam_permission
WHERE (id IN (5102131, 5102132, 5102133, 5102206, 5102207, 5102208, 5102209, 5102210, 5102211, 5102212)
AND permission_code NOT IN (
'platform:mojia-sku-sync:list', 'platform:mojia-sku-sync:edit', 'platform:mojia-sku-sync:retry',
'platform:firstleg:sailing-calendar:list', 'platform:firstleg:sailing-calendar:create',
'platform:firstleg:sailing-calendar:edit', 'platform:firstleg:sailing-template:manage',
'platform:firstleg:sailing-booking:link', 'platform:firstleg:sailing-volume:forecast-manage',
'platform:firstleg:sailing-volume:exception-reassign'))
OR (permission_code IN (
'platform:mojia-sku-sync:list', 'platform:mojia-sku-sync:edit', 'platform:mojia-sku-sync:retry',
'platform:firstleg:sailing-calendar:list', 'platform:firstleg:sailing-calendar:create',
'platform:firstleg:sailing-calendar:edit', 'platform:firstleg:sailing-template:manage',
'platform:firstleg:sailing-booking:link', 'platform:firstleg:sailing-volume:forecast-manage',
'platform:firstleg:sailing-volume:exception-reassign')
AND id NOT IN (5102131, 5102132, 5102133, 5102206, 5102207, 5102208, 5102209, 5102210, 5102211, 5102212))
),
'SELECT 1 FROM migration_blocked_iam_permission_id_code_conflict',
'SELECT 1'
);
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @ddl = IF(
NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'iam_membership' AND column_name = 'domestic_warehouse_id'),
'ALTER TABLE iam_membership ADD COLUMN domestic_warehouse_id BIGINT NULL COMMENT ''国内头程PDA操作员绑定的唯一国内作业仓ID'' AFTER overseas_warehouse_id',