(ctx context.Context, logger slog.Logger, postgresURL string, auth codersdk.PostgresAuth, sqlDriver string, opts ...PostgresConnectOption)
| 3396 | } |
| 3397 | |
| 3398 | func getAndMigratePostgresDB(ctx context.Context, logger slog.Logger, postgresURL string, auth codersdk.PostgresAuth, sqlDriver string, opts ...PostgresConnectOption) (*sql.DB, string, error) { |
| 3399 | dbURL, err := escapePostgresURLUserInfo(postgresURL) |
| 3400 | if err != nil { |
| 3401 | return nil, "", xerrors.Errorf("escaping postgres URL: %w", err) |
| 3402 | } |
| 3403 | |
| 3404 | if auth == codersdk.PostgresAuthAWSIAMRDS { |
| 3405 | sqlDriver, err = awsiamrds.Register(ctx, sqlDriver) |
| 3406 | if err != nil { |
| 3407 | return nil, "", xerrors.Errorf("register aws rds iam auth: %w", err) |
| 3408 | } |
| 3409 | } |
| 3410 | |
| 3411 | sqlDB, err := ConnectToPostgres(ctx, logger, sqlDriver, dbURL, migrations.Up, opts...) |
| 3412 | if err != nil { |
| 3413 | return nil, "", xerrors.Errorf("connect to postgres: %w", err) |
| 3414 | } |
| 3415 | |
| 3416 | return sqlDB, dbURL, nil |
| 3417 | } |
no test coverage detected