1
0
Fork 0
A golang library for updating your database schema
Ir para arquivo
Nise Void 9d4454628f
Use fs.FS
2021-02-24 14:34:14 +01:00
.gitignore Initial commit 2016-10-21 21:19:33 +02:00
LICENSE Initial commit 2016-10-21 21:19:33 +02:00
README.md Fixed issues in README and documentation 2016-10-21 22:48:11 +02:00
go.mod Use fs.FS 2021-02-24 14:34:14 +01:00
migrate.go Use fs.FS 2021-02-24 14:34:14 +01:00
query.go Support non-PostgreSQL databases 2020-03-11 10:42:00 +01:00
util.go Support non-PostgreSQL databases 2020-03-11 10:42:00 +01:00

README.md

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.

Installation

You can install this library with go get

go get git.fuyu.moe/Fuyu/migrate

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 you can add the flags -nomemcopy and -nometadata

main.go:

package main

import (
	"database/sql"
	"fmt"

	"git.fuyu.moe/Fuyu/migrate"
	_ "github.com/lib/pq"
)

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)
		return
	}
	err = migrate.Migrate(db, 1, migrate.Options{Schema: `testschema`}, Asset)
	if err != nil {
		fmt.Println(`The migration failed! Message:`, err)
		return
	}

	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