Skip to content

Commit a787e1b

Browse files
committed
Create a random database per-test
1 parent fd1a894 commit a787e1b

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

internal/sqltest/mysql.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@ func MySQL(t *testing.T, migrations []string) (*sql.DB, func()) {
5050
t.Fatal(err)
5151
}
5252

53+
// For each test, pick a new database name at random.
54+
dbName := "sqltest_mysql_" + id()
55+
if _, err := db.Exec("CREATE DATABSE " + dbName); err != nil {
56+
t.Fatal(err)
57+
}
58+
59+
source = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?multiStatements=true&parseTime=true", user, pass, host, port, dbName)
60+
sdb, err := sql.Open("mysql", source)
61+
if err != nil {
62+
t.Fatal(err)
63+
}
64+
5365
files, err := sqlpath.Glob(migrations)
5466
if err != nil {
5567
t.Fatal(err)
@@ -59,10 +71,10 @@ func MySQL(t *testing.T, migrations []string) (*sql.DB, func()) {
5971
if err != nil {
6072
t.Fatal(err)
6173
}
62-
if _, err := db.Exec(string(blob)); err != nil {
74+
if _, err := sdb.Exec(string(blob)); err != nil {
6375
t.Fatalf("%s: %s", filepath.Base(f), err)
6476
}
6577
}
6678

67-
return db, func() {}
79+
return sdb, func() {}
6880
}

internal/sqltest/postgres.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,8 @@ func PostgreSQL(t *testing.T, migrations []string) (*sql.DB, func()) {
6666
t.Fatal(err)
6767
}
6868

69-
schema := "sqltest_" + id()
70-
7169
// For each test, pick a new schema name at random.
72-
// `foo` is used here only as an example
70+
schema := "sqltest_postgresql_" + id()
7371
if _, err := db.Exec("CREATE SCHEMA " + schema); err != nil {
7472
t.Fatal(err)
7573
}

0 commit comments

Comments
 (0)