0047_fix_system_settings_columns.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- 修复迁移:补齐 system_settings 缺失列(幂等)
  2. --
  3. -- 背景:
  4. -- - 线上可能出现数据库结构漂移(例如使用旧数据卷/不完整备份恢复/手动建表等),导致 system_settings 缺少部分列
  5. -- - 读取时会触发 42703(列不存在),进而降级读取;保存时 UPDATE ... RETURNING 引用缺列会直接失败
  6. --
  7. -- 策略:
  8. -- - 使用 ADD COLUMN IF NOT EXISTS 逐列补齐,避免重复执行失败
  9. -- - 默认值与约束保持与当前 schema.ts 预期一致
  10. ALTER TABLE "system_settings"
  11. ADD COLUMN IF NOT EXISTS "currency_display" varchar(10) DEFAULT 'USD' NOT NULL;
  12. ALTER TABLE "system_settings"
  13. ADD COLUMN IF NOT EXISTS "billing_model_source" varchar(20) DEFAULT 'original' NOT NULL;
  14. ALTER TABLE "system_settings"
  15. ADD COLUMN IF NOT EXISTS "enable_auto_cleanup" boolean DEFAULT false;
  16. ALTER TABLE "system_settings"
  17. ADD COLUMN IF NOT EXISTS "cleanup_retention_days" integer DEFAULT 30;
  18. ALTER TABLE "system_settings"
  19. ADD COLUMN IF NOT EXISTS "cleanup_schedule" varchar(50) DEFAULT '0 2 * * *';
  20. ALTER TABLE "system_settings"
  21. ADD COLUMN IF NOT EXISTS "cleanup_batch_size" integer DEFAULT 10000;
  22. ALTER TABLE "system_settings"
  23. ADD COLUMN IF NOT EXISTS "enable_client_version_check" boolean DEFAULT false NOT NULL;
  24. ALTER TABLE "system_settings"
  25. ADD COLUMN IF NOT EXISTS "verbose_provider_error" boolean DEFAULT false NOT NULL;
  26. ALTER TABLE "system_settings"
  27. ADD COLUMN IF NOT EXISTS "enable_http2" boolean DEFAULT false NOT NULL;
  28. ALTER TABLE "system_settings"
  29. ADD COLUMN IF NOT EXISTS "intercept_anthropic_warmup_requests" boolean DEFAULT false NOT NULL;