/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
scripts/cleanup-test-dbs/main.go
55 строк
903 B
Kyle Gray
test(endtoend): Re-use databases when possible (#3315)
04 апр 2024, 09:18
Не верифицирован
04 апр 2024, 09:18
ac1d7f5
Код
Авторство
О чём код?
package main import ( "context" "fmt" "log" "os" "github.com/jackc/pgx/v5" "github.com/jackc/pgx/v5/pgxpool" ) func main() { if err := run(); err != nil { log.Fatal(err) } } const query = ` SELECT datname FROM pg_database WHERE datname LIKE 'sqlc_test_%' ` func run() error { ctx := context.Background() dburi := os.Getenv("POSTGRESQL_SERVER_URI") if dburi == "" { return fmt.Errorf("POSTGRESQL_SERVER_URI is empty") } pool, err := pgxpool.New(ctx, dburi) if err != nil { return err } rows, err := pool.Query(ctx, query) if err != nil { return err } names, err := pgx.CollectRows(rows, pgx.RowTo[string]) if err != nil { return err } for _, name := range names { drop := fmt.Sprintf(`DROP DATABASE IF EXISTS "%s" WITH (FORCE)`, name) if _, err := pool.Exec(ctx, drop); err != nil { return err } log.Println("dropping database", name) } return nil }