From f1738e78dbc7be636ac5f80f6302d4fd9542e96e Mon Sep 17 00:00:00 2001 From: goenning Date: Wed, 18 Jan 2017 22:19:02 +0000 Subject: [PATCH] allow use of big version numbers --- driver/postgres/postgres.go | 2 +- driver/postgres/postgres_test.go | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/driver/postgres/postgres.go b/driver/postgres/postgres.go index 951b005..d58a5fc 100644 --- a/driver/postgres/postgres.go +++ b/driver/postgres/postgres.go @@ -51,7 +51,7 @@ func (driver *Driver) ensureVersionTableExists() error { if c > 0 { return nil } - if _, err := driver.db.Exec("CREATE TABLE IF NOT EXISTS " + tableName + " (version int not null primary key);"); err != nil { + if _, err := driver.db.Exec("CREATE TABLE IF NOT EXISTS " + tableName + " (version bigint not null primary key);"); err != nil { return err } return nil diff --git a/driver/postgres/postgres_test.go b/driver/postgres/postgres_test.go index 7c5c0c3..df3d358 100644 --- a/driver/postgres/postgres_test.go +++ b/driver/postgres/postgres_test.go @@ -77,6 +77,28 @@ func TestMigrate(t *testing.T) { ) `), }, + { + Path: "/foobar", + FileName: "20170118205923_demo.up.sql", + Version: 20170118205923, + Name: "demo", + Direction: direction.Up, + Content: []byte(` + CREATE TABLE demo ( + id serial not null primary key + ) + `), + }, + { + Path: "/foobar", + FileName: "20170118205923_demo.down.sql", + Version: 20170118205923, + Name: "demo", + Direction: direction.Down, + Content: []byte(` + DROP TABLE demo + `), + }, } pipe := pipep.New() @@ -100,6 +122,20 @@ func TestMigrate(t *testing.T) { t.Error("Expected test case to fail") } + pipe = pipep.New() + go d.Migrate(files[3], pipe) + errs = pipep.ReadErrors(pipe) + if len(errs) > 0 { + t.Fatal(errs) + } + + pipe = pipep.New() + go d.Migrate(files[4], pipe) + errs = pipep.ReadErrors(pipe) + if len(errs) > 0 { + t.Fatal(errs) + } + if err := d.Close(); err != nil { t.Fatal(err) }