224_user_platform_quotas_add_cn_providers.sql 1.1 KB

1234567891011121314151617
  1. -- 把 kimi/zhipu/deepseek 平台加入 user_platform_quotas.platform 的 CHECK 约束。
  2. --
  3. -- 背景:国产供应商进入 AllowedQuotaPlatforms(internal/service/domain_constants.go),
  4. -- 注册时 GetDefaultPlatformQuotas 会为全部 8 平台预填充默认配额行,但 157 号迁移的
  5. -- CHECK 仍只允许 5 平台。BulkInsertInitial 是单条多行 INSERT,任一违约行会中止整条
  6. -- 语句 → 注册路径 fail-open 吞错 → 新用户拿到零条配额记录(含原有 5 平台,缺失配额
  7. -- 行 = 无限额)。与 157 头注释记载的 grok 同型事故一致。
  8. --
  9. -- 修复:把约束与代码平台列表(PlatformKimi/PlatformZhipu/PlatformDeepseek)对齐。
  10. -- DROP ... IF EXISTS 保证可重入;新约束是旧约束的超集,存量行(仅 5 平台)瞬时校验通过。
  11. ALTER TABLE user_platform_quotas
  12. DROP CONSTRAINT IF EXISTS user_platform_quotas_platform_check;
  13. ALTER TABLE user_platform_quotas
  14. ADD CONSTRAINT user_platform_quotas_platform_check
  15. CHECK (platform IN ('anthropic', 'openai', 'gemini', 'antigravity', 'grok',
  16. 'kimi', 'zhipu', 'deepseek'));