-- 回滚提现资格资料版本与提现审批尝试记录 Schema。 -- 任一本 Change 的业务事实存在时禁止破坏性回滚:资金冻结与资格审批事实无法通过重建 Schema 恢复。 DO $$ BEGIN IF EXISTS (SELECT 1 FROM tb_withdrawal_qualification) THEN RAISE EXCEPTION '存在提现资格资料版本,禁止回滚提现资格与审批尝试迁移'; END IF; IF EXISTS (SELECT 1 FROM tb_commission_withdrawal_request_attempt) THEN RAISE EXCEPTION '存在提现审批尝试记录,禁止回滚提现资格与审批尝试迁移'; END IF; IF EXISTS ( SELECT 1 FROM tb_commission_withdrawal_request WHERE latest_attempt_id <> 0 OR latest_approval_instance_id <> 0 OR approval_instance_id IS NOT NULL OR anomaly_flag <> 0 ) THEN RAISE EXCEPTION '存在已接入企业微信终审的提现申请,禁止回滚提现资格与审批尝试迁移'; END IF; END $$; ALTER TABLE tb_commission_withdrawal_request DROP CONSTRAINT IF EXISTS chk_commission_withdrawal_request_anomaly; ALTER TABLE tb_commission_withdrawal_request DROP CONSTRAINT IF EXISTS chk_commission_withdrawal_request_approval_instance; ALTER TABLE tb_commission_withdrawal_request DROP COLUMN IF EXISTS anomaly_reason, DROP COLUMN IF EXISTS anomaly_flag, DROP COLUMN IF EXISTS approval_instance_id, DROP COLUMN IF EXISTS latest_approval_instance_id, DROP COLUMN IF EXISTS latest_attempt_id; DROP INDEX IF EXISTS idx_commission_withdrawal_attempt_unreleased; DROP INDEX IF EXISTS idx_commission_withdrawal_attempt_request; DROP INDEX IF EXISTS uk_commission_withdrawal_attempt_instance; DROP TABLE IF EXISTS tb_commission_withdrawal_request_attempt; DROP INDEX IF EXISTS uk_withdrawal_qualification_instance; DROP INDEX IF EXISTS idx_withdrawal_qualification_shop; DROP INDEX IF EXISTS uk_withdrawal_qualification_valid; DROP TABLE IF EXISTS tb_withdrawal_qualification;