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