| 123456789101112131415161718192021222324252627 |
- -- 批量付款账号级改造(2026-08-26)
- -- 手工执行: psycopg2 连接 payment_platform_java 库
- -- 幂等: 已存在列/索引则跳过
- -- 1. 授权主体字段
- ALTER TABLE pay_batch_authorize
- ADD COLUMN IF NOT EXISTS participant_name varchar(128),
- ADD COLUMN IF NOT EXISTS service_provider_id bigint;
- -- 1b. 去企业化: 实体已无 enterprise_id 字段,INSERT 不含该列;原 NOT NULL 无默认值
- -- 会导致授权申请/批次创建落库失败(null value in column "enterprise_id")→ 改为可空
- ALTER TABLE pay_batch_authorize ALTER COLUMN enterprise_id DROP NOT NULL;
- ALTER TABLE pay_batch_order ALTER COLUMN enterprise_id DROP NOT NULL;
- -- 2. 唯一索引改租户级(先删旧 enterprise 索引)
- DROP INDEX IF EXISTS uk_batch_authorize_active;
- -- 联调期存量数据若存在同租户同 participant 多行,先清理再建索引:
- -- DELETE FROM pay_batch_authorize a USING pay_batch_authorize b
- -- WHERE a.id < b.id AND a.tenant_id = b.tenant_id AND a.participant_id = b.participant_id
- -- AND a.status <> 'UNBIND' AND b.status <> 'UNBIND';
- CREATE UNIQUE INDEX uk_batch_authorize_active
- ON pay_batch_authorize (tenant_id, participant_id)
- WHERE status <> 'UNBIND';
- -- 3. 批次冗余服务商
- ALTER TABLE pay_batch_order
- ADD COLUMN IF NOT EXISTS service_provider_id bigint;
|