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