/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/sqltest/sqlite.go
55 строк
1 KB
Kyle Gray
Upgrade ncruces/go-sqlite3 to v0.34.0 (#4412)
23 апр 2026, 18:40
Не верифицирован
23 апр 2026, 18:40
fb98311
Код
Авторство
О чём код?
package sqltest import ( "database/sql" "os" "path/filepath" "testing" _ "github.com/ncruces/go-sqlite3/driver" "github.com/sqlc-dev/sqlc/internal/sql/sqlpath" ) func SQLite(t *testing.T, migrations []string) (*sql.DB, func()) { t.Helper() // For each test, pick a new database name at random. source, err := os.CreateTemp("", "sqltest_sqlite_") if err != nil { t.Fatal(err) } if err := source.Close(); err != nil { t.Fatal(err) } return CreateSQLiteDatabase(t, source.Name(), migrations) } func CreateSQLiteDatabase(t *testing.T, path string, migrations []string) (*sql.DB, func()) { t.Helper() t.Logf("open %s\n", path) sdb, err := sql.Open("sqlite3", path) if err != nil { t.Fatal(err) } files, err := sqlpath.Glob(migrations) if err != nil { t.Fatal(err) } for _, f := range files { blob, err := os.ReadFile(f) if err != nil { t.Fatal(err) } if _, err := sdb.Exec(string(blob)); err != nil { t.Fatalf("%s: %s", filepath.Base(f), err) } } return sdb, func() { if _, err := os.Stat(path); err == nil { os.Remove(path) } } }