sql migration
あんまり情報が見つからなかったので書いた。 難しいとこないからかもしれないが。 dbのcreateができないのが難点かも。
普通にgo getしてもcliが入らないのでmanualに書いてある通りインストール
go get -tags 'postgres' -u github.com/golang-migrate/migrate/cmd/migrate
migrationファイルの作成。便利
migrate create -ext sql -dir sql/migrate initialize
こんな感じのファイルができる
20190610174331_initilize.down.sql 20190610174331_initilize.up.sql
migration
migrate -database 'postgres://[user]@[host]:5432/[database]?sslmode=disable' -path ./sql/migrate -verbose up
不整合が起きるとschema_migrationsというテーブルの不整合だったバージョンにフラグがたつ。
解消するには失敗したバージョンを直してforce実行。
migrate -database 'postgres://[user]@[host]:5432/[database]?sslmode=disable' -path ./sql/migrate -verbose force [version]