Files
junhong_cmp_fiber/migrations/000229_add_asset_auto_renewal_config.down.sql
break d52be16802
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m15s
feat(资产钱包自动续费): 新增全局配置、每日扫描续购与可靠复机
- 新增单行配置表 tb_asset_auto_renewal_config 与尝试记录表 tb_asset_auto_renewal_attempt(迁移 000229/000230)
- 每日按上海自然日扫描,窗口内以同一资产钱包可用余额续购当前主套餐,资金/订单/套餐/审计同一事务闭合
- 唯一键保证每资产每日至多一次尝试,占位中断由后续扫描收敛,当日不重试
- 四类失败原因向客户与店铺各投递每日至多一条站内通知,并注册通知类型与个人客户白名单
- 续费成功后按条件经 Outbox 可靠投递复机,新增恢复扫描只查询回填,不使用即发即弃调用
- 配置读写仅超级管理员与平台账号,保存记录操作者、前后值快照并登记统一审计
- tasks 7.1–7.15 全部验证通过(本机隔离 PostgreSQL/Redis,零外部渠道调用)
2026-09-17 16:39:26 +08:00

19 lines
1001 B
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 回滚资产钱包自动续费全局配置表,与 up 严格成对。
--
-- 不可逆说明ENG-MIG-001 例外条件):本迁移的 down 会删除 tb_asset_auto_renewal_config 与
-- 其中的总开关、适用范围、指定套餐集合、到期前天数与配置版本。这些配置无法由数据库自身重建,
-- 只能依据 tb_audit_event 中资产钱包自动续费配置的前后值快照人工复核,
-- 因此 down 只在配置已无留存需求时执行。
--
-- 守卫:存在仍处于开启状态的配置行时直接阻断回滚,避免静默丢弃「已开启自动续费」的运营意图
-- (关闭状态下删除只丢失关闭事实,风险可接受)。
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM tb_asset_auto_renewal_config WHERE enabled = 1 LIMIT 1) THEN
RAISE EXCEPTION '自动续费总开关仍处于开启状态,拒绝回滚以避免静默丢弃已生效的续费配置';
END IF;
END $$;
DROP TABLE IF EXISTS tb_asset_auto_renewal_config;