A golang library for updating your database schema
Go to file
2016-10-21 21:19:33 +02:00
.gitignore Initial commit 2016-10-21 21:19:33 +02:00
LICENSE Initial commit 2016-10-21 21:19:33 +02:00
migrate.go Initial commit 2016-10-21 21:19:33 +02:00
README.md Initial commit 2016-10-21 21:19:33 +02:00

Go database migrate

This is a simple database migration library for Go. This library is intended to be used with go-bindata. We recommended using a go generate command to update the go-bindata file.

Example

files/0001.sql:

CREATE TABLE tests (
	Name varchar(100) NOT NULL
);

INSERT INTO tests VALUES ('migration test');

Run go-bindata --prefix files files Optionally add the flags -nomemcopy and -nometadata

main.go:

package main

import (
	"migrate"
)

func main() {
	db, err = sql.Open(`postgres`, `host=/run/postgresql dbname=testdb sslmode=disable`)
	if err != nil {
		fmt.Println(`Failed to connect to database. Message:`, err)
	}
	err = migrate.Migrate(db, 1, migrate.Options{Schema:`testschema`}, migrations.Asset}
	if err != nil {
		fmt.Println(`The migration failed! Message:`, err)
	}

	fmt.Println(`The database migration/update was successful`)
}

File names:

The names of your migration files should look like this:

0001.sql
0002.sql
...
0010.sql
...
0325.sql