mirror of https://github.com/pressly/goose.git
respond to feedback (also cleans up tests)
parent
4621f19b3c
commit
f1958be35c
|
@ -55,24 +55,13 @@ func main() {
|
||||||
|
|
||||||
driver, dbstring, command := args[0], args[1], args[2]
|
driver, dbstring, command := args[0], args[1], args[2]
|
||||||
|
|
||||||
if err := goose.SetDialect(driver); err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
switch driver {
|
|
||||||
case "redshift":
|
|
||||||
driver = "postgres"
|
|
||||||
case "tidb":
|
|
||||||
driver = "mysql"
|
|
||||||
}
|
|
||||||
|
|
||||||
switch dbstring {
|
switch dbstring {
|
||||||
case "":
|
case "":
|
||||||
log.Fatalf("-dbstring=%q not supported\n", dbstring)
|
log.Fatalf("-dbstring=%q not supported\n", dbstring)
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
db, err := createDBWithDriver(driver, dbstring)
|
db, err := goose.OpenDBWithDriver(driver, dbstring)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("-dbstring=%q: %v\n", dbstring, err)
|
log.Fatalf("-dbstring=%q: %v\n", dbstring, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package goose
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
@ -20,7 +20,20 @@ func normalizeMySQLDSN(dsn string) (string, error) {
|
||||||
return config.FormatDSN(), nil
|
return config.FormatDSN(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func createDBWithDriver(driver string, dbstring string) (*sql.DB, error) {
|
// OpenDBWithDriver creates a connection a database, and modifies goose
|
||||||
|
// internals to be compatible with the supplied driver by calling SetDialect.
|
||||||
|
func OpenDBWithDriver(driver string, dbstring string) (*sql.DB, error) {
|
||||||
|
if err := SetDialect(driver); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
switch driver {
|
||||||
|
case "redshift":
|
||||||
|
driver = "postgres"
|
||||||
|
case "tidb":
|
||||||
|
driver = "mysql"
|
||||||
|
}
|
||||||
|
|
||||||
switch driver {
|
switch driver {
|
||||||
case "postgres", "sqlite3":
|
case "postgres", "sqlite3":
|
||||||
return sql.Open(driver, dbstring)
|
return sql.Open(driver, dbstring)
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package goose
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
|
@ -1,7 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
|
||||||
"flag"
|
"flag"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
@ -55,28 +54,15 @@ func main() {
|
||||||
|
|
||||||
driver, dbstring, command := args[0], args[1], args[2]
|
driver, dbstring, command := args[0], args[1], args[2]
|
||||||
|
|
||||||
switch driver {
|
|
||||||
case "postgres", "mysql", "sqlite3", "redshift":
|
|
||||||
if err := goose.SetDialect(driver); err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
log.Fatalf("%q driver not supported\n", driver)
|
|
||||||
}
|
|
||||||
|
|
||||||
switch dbstring {
|
switch dbstring {
|
||||||
case "":
|
case "":
|
||||||
log.Fatalf("-dbstring=%q not supported\n", dbstring)
|
log.Fatalf("-dbstring=%q not supported\n", dbstring)
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
if driver == "redshift" {
|
db, err := goose.OpenDBWithDriver(driver, dbstring)
|
||||||
driver = "postgres"
|
|
||||||
}
|
|
||||||
|
|
||||||
db, err := sql.Open(driver, dbstring)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("-dbstring=%q: %v\n", dbstring, err)
|
log.Fatalf("goose run: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
arguments := []string{}
|
arguments := []string{}
|
||||||
|
|
Loading…
Reference in New Issue