BackfillChatModelConfigProviderStrings fixes stale chat_model_configs.provider strings left as "anthropic" when the linked provider was promoted from type=anthropic to type=bedrock by BackfillBedrockProviderType. Errors are logged and startup continues.
(ctx context.Context, db database.Store, logger slog.Logger)
| 76 | // type=anthropic to type=bedrock by BackfillBedrockProviderType. Errors are |
| 77 | // logged and startup continues. |
| 78 | func BackfillChatModelConfigProviderStrings(ctx context.Context, db database.Store, logger slog.Logger) { |
| 79 | //nolint:gocritic // Startup-only backfill; no user actor is present. |
| 80 | sysCtx := dbauthz.AsSystemRestricted(ctx) |
| 81 | result, err := db.BackfillChatModelConfigProvider(sysCtx, database.BackfillChatModelConfigProviderParams{ |
| 82 | OldProvider: string(codersdk.AIProviderTypeAnthropic), |
| 83 | NewProvider: string(codersdk.AIProviderTypeBedrock), |
| 84 | }) |
| 85 | if err != nil { |
| 86 | logger.Error(ctx, "backfill chat model config provider strings", slog.Error(err)) |
| 87 | return |
| 88 | } |
| 89 | if result != nil { |
| 90 | if n, _ := result.RowsAffected(); n > 0 { |
| 91 | logger.Info(ctx, "backfilled chat model config provider strings", slog.F("count", n)) |
| 92 | } |
| 93 | } |
| 94 | } |