-- 回滚代理线下预存款审批字段。 -- 新增列仍承载真实人工确认事实时禁止回滚:删除后交易流水号、收款方式快照与其他凭证引用无法恢复。 DO $$ BEGIN IF EXISTS ( SELECT 1 FROM tb_agent_recharge_record WHERE external_transaction_no IS NOT NULL OR offline_payment_method_id IS NOT NULL ) THEN RAISE EXCEPTION '存在仍被引用的线下充值收款方式、交易流水号或其他凭证,禁止回滚代理线下预存款审批字段迁移'; END IF; END $$; DROP INDEX IF EXISTS idx_agent_recharge_external_transaction_no; DROP INDEX IF EXISTS idx_agent_recharge_offline_payment_method; -- 仅删除本次新增列,不影响既有充值记录读取与在线渠道列。 ALTER TABLE tb_agent_recharge_record DROP COLUMN IF EXISTS other_voucher_keys, DROP COLUMN IF EXISTS offline_payment_method_name, DROP COLUMN IF EXISTS offline_payment_method_code, DROP COLUMN IF EXISTS offline_payment_method_id, DROP COLUMN IF EXISTS external_transaction_no;