恢复了以下迁移文件到原始状态: - 004_add_redeem_code_notes.sql - 005_schema_parity.sql - 006_fix_invalid_subscription_expires_at.sql - 007_add_user_allowed_groups.sql - 008_seed_default_group.sql - 009_fix_usage_logs_cache_columns.sql - 010_add_usage_logs_aggregated_indexes.sql - 011_remove_duplicate_unique_indexes.sql - 012_add_user_subscription_soft_delete.sql - 013_log_orphan_allowed_groups.sql - 014_drop_legacy_allowed_groups.sql - 015_fix_settings_unique_constraint.sql - 016_soft_delete_partial_unique_indexes.sql - 018_user_attributes.sql - 019_migrate_wechat_to_attributes.sql - 024_add_gemini_tier_id.sql 数据库迁移文件不应在应用后修改,即使只是注释。
31 lines
849 B
SQL
31 lines
849 B
SQL
-- +goose Up
|
||
-- +goose StatementBegin
|
||
-- 为 Gemini Code Assist OAuth 账号添加默认 tier_id
|
||
-- 包括显式标记为 code_assist 的账号,以及 legacy 账号(oauth_type 为空但 project_id 存在)
|
||
UPDATE accounts
|
||
SET credentials = jsonb_set(
|
||
credentials,
|
||
'{tier_id}',
|
||
'"LEGACY"',
|
||
true
|
||
)
|
||
WHERE platform = 'gemini'
|
||
AND type = 'oauth'
|
||
AND jsonb_typeof(credentials) = 'object'
|
||
AND credentials->>'tier_id' IS NULL
|
||
AND (
|
||
credentials->>'oauth_type' = 'code_assist'
|
||
OR (credentials->>'oauth_type' IS NULL AND credentials->>'project_id' IS NOT NULL)
|
||
);
|
||
-- +goose StatementEnd
|
||
|
||
-- +goose Down
|
||
-- +goose StatementBegin
|
||
-- 回滚:删除 tier_id 字段
|
||
UPDATE accounts
|
||
SET credentials = credentials - 'tier_id'
|
||
WHERE platform = 'gemini'
|
||
AND type = 'oauth'
|
||
AND credentials ? 'tier_id';
|
||
-- +goose StatementEnd
|