fix(db): V82迁移脚本添加DO块处理不存在的表

This commit is contained in:
2026-06-22 09:18:55 +08:00
parent 328d261e62
commit b7c26bbbe0

View File

@@ -98,15 +98,24 @@ UPDATE esb_code_mapping SET delete_flag = '0' WHERE delete_flag IS NULL;
ALTER TABLE esb_code_mapping ALTER COLUMN delete_flag SET DEFAULT '0';
ALTER TABLE esb_code_mapping ALTER COLUMN delete_flag SET NOT NULL;
DO $$ BEGIN
ALTER TABLE cdss_rule ALTER COLUMN delete_flag TYPE VARCHAR(1);
UPDATE cdss_rule SET delete_flag = '0' WHERE delete_flag IS NULL;
ALTER TABLE cdss_rule ALTER COLUMN delete_flag SET DEFAULT '0';
ALTER TABLE cdss_rule ALTER COLUMN delete_flag SET NOT NULL;
EXCEPTION WHEN undefined_table THEN NULL;
END $$;
DO $$ BEGIN
ALTER TABLE cdss_alert ALTER COLUMN delete_flag TYPE VARCHAR(1);
UPDATE cdss_alert SET delete_flag = '0' WHERE delete_flag IS NULL;
ALTER TABLE cdss_alert ALTER COLUMN delete_flag SET DEFAULT '0';
ALTER TABLE cdss_alert ALTER COLUMN delete_flag SET NOT NULL;
EXCEPTION WHEN undefined_table THEN NULL;
END $$;
DO $$ BEGIN
DROP INDEX IF EXISTS idx_cdss_rule_code;
CREATE UNIQUE INDEX idx_cdss_rule_code ON cdss_rule(rule_code) WHERE delete_flag = '0';
EXCEPTION WHEN undefined_table THEN NULL;
END $$;