diff --git a/Gopkg.lock b/Gopkg.lock index b195f7f..03d0c08 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -116,8 +116,8 @@ [[projects]] name = "github.com/pressly/goose" packages = ["."] - revision = "f0b1c6ff8abed229f55afe762a329f940c9965e1" - version = "v2.2.0" + revision = "95600eb369b1f657efd54a401ab85d0647a1db80" + version = "v2.3.0" [[projects]] name = "github.com/smartystreets/assertions" @@ -231,6 +231,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "78843297a16658c3f02553b498851fa6d34fce2e5c338158cab6c7a8cf59d51e" + inputs-digest = "66d45a0ecdfeb846cb107ab625eb44b570df0853ef23943c6f5138f3ede679f1" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 0146dea..5f0ed06 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -43,7 +43,7 @@ [[constraint]] name = "github.com/pressly/goose" - version = "2.2.0" + version = "2.3.0" [[constraint]] name = "github.com/smartystreets/goconvey" diff --git a/README.md b/README.md index 3f3d31c..de6a61c 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,8 @@ go get -u github.com/chapsuk/miga PackageName | Version | Postgres | MySQL ----------- | ------- | ------------------- | -------- -goose | ? | :heavy_check_mark: | :heavy_check_mark: -migrate | 3.2.0 | :heavy_check_mark: | :heavy_check_mark: -stump | ? | :heavy_check_mark: | :heavy_minus_sign: +goose | 2.3.0 | :heavy_check_mark: | :heavy_check_mark: +migrate | 3.2.0 | :heavy_check_mark: | :heavy_check_mark: ## Features @@ -143,10 +142,3 @@ seed: PASS ok github.com/chapsuk/miga/tests 10.521s ``` - -## !WARN - -Vendor locked until: - -* [goose - table name](https://github.com/pressly/goose/pull/104) -* [stump - table name](https://github.com/m1ome/stump/pull/6) diff --git a/driver/goose/driver.go b/driver/goose/driver.go index a844fcc..28abece 100644 --- a/driver/goose/driver.go +++ b/driver/goose/driver.go @@ -18,7 +18,7 @@ func New(dialect, dsn, tableName, dir string) (*Goose, error) { return nil, err } - orig.SetDBVersionTableName(tableName) + orig.SetTableName(tableName) orig.SetLogger(&utils.StdLogger{}) db, err := sql.Open(dialect, dsn) diff --git a/driver/interface.go b/driver/interface.go index 805c7fb..39ebd4b 100644 --- a/driver/interface.go +++ b/driver/interface.go @@ -18,7 +18,7 @@ func Available(name string) bool { switch name { case Goose: case Migrate: - case Stump: + // case Stump: default: return false } diff --git a/driver/stump/migrator.go b/driver/stump/migrator.go index d958c97..a4e6aeb 100644 --- a/driver/stump/migrator.go +++ b/driver/stump/migrator.go @@ -40,7 +40,7 @@ func New(dialect, dsn, tableName, dir string) (*Migrator, error) { return nil, err } - orig.SetDBVersionTableName(tableName) + // orig.SetTableName(tableName) return &Migrator{ stump: s, diff --git a/tests/vars.go b/tests/vars.go index 58b3fa5..76837e9 100644 --- a/tests/vars.go +++ b/tests/vars.go @@ -23,7 +23,7 @@ var ( drivers = map[driverName]dialects{ "goose": []string{"mysql", "postgres"}, "migrate": []string{"mysql", "postgres"}, - "stump": []string{"postgres"}, + // "stump": []string{"postgres"}, } dsns = map[string]dsn{ diff --git a/vendor/github.com/m1ome/stump/package/migrate/vars.go b/vendor/github.com/m1ome/stump/package/migrate/vars.go index 97b2378..dee5603 100644 --- a/vendor/github.com/m1ome/stump/package/migrate/vars.go +++ b/vendor/github.com/m1ome/stump/package/migrate/vars.go @@ -43,7 +43,3 @@ var ( // ErrPositiveSteps when steps < 0 ErrPositiveSteps = errors.New("steps must be a positive number") ) - -func SetDBVersionTableName(name string) { - tableName = name -} diff --git a/vendor/github.com/pressly/goose/dialect.go b/vendor/github.com/pressly/goose/dialect.go index 81831a9..488f5e0 100644 --- a/vendor/github.com/pressly/goose/dialect.go +++ b/vendor/github.com/pressly/goose/dialect.go @@ -8,7 +8,7 @@ import ( // SQLDialect abstracts the details of specific SQL dialects // for goose's few SQL specific statements type SQLDialect interface { - createVersionTableSQL() string // sql string to create the goose_db_version table + createVersionTableSQL() string // sql string to create the db version table insertVersionSQL() string // sql string to insert the initial version table row dbVersionQuery(db *sql.DB) (*sql.Rows, error) } @@ -48,21 +48,21 @@ func SetDialect(d string) error { type PostgresDialect struct{} func (pg PostgresDialect) createVersionTableSQL() string { - return `CREATE TABLE goose_db_version ( + return fmt.Sprintf(`CREATE TABLE %s ( id serial NOT NULL, version_id bigint NOT NULL, is_applied boolean NOT NULL, tstamp timestamp NULL default now(), PRIMARY KEY(id) - );` + );`, TableName()) } func (pg PostgresDialect) insertVersionSQL() string { - return "INSERT INTO goose_db_version (version_id, is_applied) VALUES ($1, $2);" + return fmt.Sprintf("INSERT INTO %s (version_id, is_applied) VALUES ($1, $2);", TableName()) } func (pg PostgresDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { - rows, err := db.Query("SELECT version_id, is_applied from goose_db_version ORDER BY id DESC") + rows, err := db.Query(fmt.Sprintf("SELECT version_id, is_applied from %s ORDER BY id DESC", TableName())) if err != nil { return nil, err } @@ -78,21 +78,21 @@ func (pg PostgresDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { type MySQLDialect struct{} func (m MySQLDialect) createVersionTableSQL() string { - return `CREATE TABLE goose_db_version ( + return fmt.Sprintf(`CREATE TABLE %s ( id serial NOT NULL, version_id bigint NOT NULL, is_applied boolean NOT NULL, tstamp timestamp NULL default now(), PRIMARY KEY(id) - );` + );`, TableName()) } func (m MySQLDialect) insertVersionSQL() string { - return "INSERT INTO goose_db_version (version_id, is_applied) VALUES (?, ?);" + return fmt.Sprintf("INSERT INTO %s (version_id, is_applied) VALUES (?, ?);", TableName()) } func (m MySQLDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { - rows, err := db.Query("SELECT version_id, is_applied from goose_db_version ORDER BY id DESC") + rows, err := db.Query(fmt.Sprintf("SELECT version_id, is_applied from %s ORDER BY id DESC", TableName())) if err != nil { return nil, err } @@ -108,20 +108,20 @@ func (m MySQLDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { type Sqlite3Dialect struct{} func (m Sqlite3Dialect) createVersionTableSQL() string { - return `CREATE TABLE goose_db_version ( + return fmt.Sprintf(`CREATE TABLE %s ( id INTEGER PRIMARY KEY AUTOINCREMENT, version_id INTEGER NOT NULL, is_applied INTEGER NOT NULL, tstamp TIMESTAMP DEFAULT (datetime('now')) - );` + );`, TableName()) } func (m Sqlite3Dialect) insertVersionSQL() string { - return "INSERT INTO goose_db_version (version_id, is_applied) VALUES (?, ?);" + return fmt.Sprintf("INSERT INTO %s (version_id, is_applied) VALUES (?, ?);", TableName()) } func (m Sqlite3Dialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { - rows, err := db.Query("SELECT version_id, is_applied from goose_db_version ORDER BY id DESC") + rows, err := db.Query(fmt.Sprintf("SELECT version_id, is_applied from %s ORDER BY id DESC", TableName())) if err != nil { return nil, err } @@ -137,21 +137,21 @@ func (m Sqlite3Dialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { type RedshiftDialect struct{} func (rs RedshiftDialect) createVersionTableSQL() string { - return `CREATE TABLE goose_db_version ( + return fmt.Sprintf(`CREATE TABLE %s ( id integer NOT NULL identity(1, 1), version_id bigint NOT NULL, is_applied boolean NOT NULL, tstamp timestamp NULL default sysdate, PRIMARY KEY(id) - );` + );`, TableName()) } func (rs RedshiftDialect) insertVersionSQL() string { - return "INSERT INTO goose_db_version (version_id, is_applied) VALUES ($1, $2);" + return fmt.Sprintf("INSERT INTO %s (version_id, is_applied) VALUES ($1, $2);", TableName()) } func (rs RedshiftDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { - rows, err := db.Query("SELECT version_id, is_applied from goose_db_version ORDER BY id DESC") + rows, err := db.Query(fmt.Sprintf("SELECT version_id, is_applied from %s ORDER BY id DESC", TableName())) if err != nil { return nil, err } @@ -167,24 +167,24 @@ func (rs RedshiftDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { type TiDBDialect struct{} func (m TiDBDialect) createVersionTableSQL() string { - return `CREATE TABLE goose_db_version ( + return fmt.Sprintf(`CREATE TABLE %s ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE, version_id bigint NOT NULL, is_applied boolean NOT NULL, tstamp timestamp NULL default now(), PRIMARY KEY(id) - );` + );`, TableName()) } func (m TiDBDialect) insertVersionSQL() string { - return "INSERT INTO goose_db_version (version_id, is_applied) VALUES (?, ?);" + return fmt.Sprintf("INSERT INTO %s (version_id, is_applied) VALUES (?, ?);", TableName()) } func (m TiDBDialect) dbVersionQuery(db *sql.DB) (*sql.Rows, error) { - rows, err := db.Query("SELECT version_id, is_applied from goose_db_version ORDER BY id DESC") + rows, err := db.Query(fmt.Sprintf("SELECT version_id, is_applied from %s ORDER BY id DESC", TableName())) if err != nil { return nil, err } return rows, err -} \ No newline at end of file +} diff --git a/vendor/github.com/pressly/goose/migrate.go b/vendor/github.com/pressly/goose/migrate.go index cb6be7c..330c313 100644 --- a/vendor/github.com/pressly/goose/migrate.go +++ b/vendor/github.com/pressly/goose/migrate.go @@ -241,7 +241,7 @@ func EnsureDBVersion(db *sql.DB) (int64, error) { return 0, ErrNoNextVersion } -// Create the goose_db_version table +// Create the db version table // and insert the initial 0 value into it func createVersionTable(db *sql.DB) error { txn, err := db.Begin() diff --git a/vendor/github.com/pressly/goose/status.go b/vendor/github.com/pressly/goose/status.go index 3cc5ed6..cf44125 100644 --- a/vendor/github.com/pressly/goose/status.go +++ b/vendor/github.com/pressly/goose/status.go @@ -31,7 +31,7 @@ func Status(db *sql.DB, dir string) error { func printMigrationStatus(db *sql.DB, version int64, script string) { var row MigrationRecord - q := fmt.Sprintf("SELECT tstamp, is_applied FROM goose_db_version WHERE version_id=%d ORDER BY tstamp DESC LIMIT 1", version) + q := fmt.Sprintf("SELECT tstamp, is_applied FROM %s WHERE version_id=%d ORDER BY tstamp DESC LIMIT 1", TableName(), version) e := db.QueryRow(q).Scan(&row.TStamp, &row.IsApplied) if e != nil && e != sql.ErrNoRows { diff --git a/vendor/github.com/pressly/goose/version.go b/vendor/github.com/pressly/goose/version.go index b57412a..8005400 100644 --- a/vendor/github.com/pressly/goose/version.go +++ b/vendor/github.com/pressly/goose/version.go @@ -15,14 +15,14 @@ func Version(db *sql.DB, dir string) error { return nil } -var dbVersionTableName = "goose_db_version" +var tableName = "goose_db_version" -// GetDBVersionTableName returns goose db version table name -func GetDBVersionTableName() string { - return dbVersionTableName +// TableName returns goose db version table name +func TableName() string { + return tableName } -// SetDBVersionTableName set goose db version table name -func SetDBVersionTableName(n string) { - dbVersionTableName = n +// SetTableName set goose db version table name +func SetTableName(n string) { + tableName = n }