mattes / migrate のメモ
migrateの使い方
toolchain #golang
how to install? ref : https://github.com/mattes/migrate/tree/master/cli
# with homebrew
brew install migrate
# with curl
curl -L https://github.com/mattes/migrate/releases/download/v3.0.1/migrate.darwin-amd64.tar.gz
tar xvz migrate.darwin-amd64.tar.gz
mv migrate.darwin-amd64.tar.gz /usr/local/migrate
naming rule for migration file ref : https://github.com/mattes/migrate/blob/master/MIGRATIONS.md ここに書いてある形式でファイルを作成するらしい。 なんでupとdownを分けるの?についても
-database Run migrations against this database (driver://url)
# DSNを指定すればいいっぽい?
# http://go-database-sql.org/accessing.html
up
[👾 @masashi.salvador.mitsuzawa] ~/dev/sample/mattes_migrate
% migrate -database 'mysql://root@tcp(127.0.0.1:3306)/hogehoge' -path ./ up
1/u create_hoge (15.876738ms)
[👾 @masashi.salvador.mitsuzawa] ~/dev/sample/mattes_migrate
% migrate -database 'mysql://root@tcp(127.0.0.1:3306)/hogehoge' -path ./ up
no change
down
[👾 @masashi.salvador.mitsuzawa] ~/dev/sample/mattes_migrate
% migrate -database 'mysql://root@tcp(127.0.0.1:3306)/hogehoge' -path ./ down
no change
良さそう。
実行すると schema_migrations
テーブルが作成されます。