migrate コマンド操作

データ移行処理を行う migrate コマンドの操作を紹介します。

api コンテナのアップグレード時に自動実行されるため、特別な理由がない限り、手動実行する必要はありません。

アップグレード

バージョンを指定しない場合は api コンテナの ucidm バージョンを使ってマイグレーション処理が実行される。

$ docker compose exec -it api /bin/migrate db -type up

-version で任意のバージョンを指定してアップグレードする。

$ docker compose exec -it api /bin/migrate db -type up -version 1.7.1

-funcName で特定のマイグレーション処理のみに限定してアップグレードする。

$ docker compose exec -it api /bin/migrate db -type up -version 1.7.1 -funcName Session

ダウングレード

アップグレードによって変更した内容を元に戻したいときに実行する。データ構造上の変更であれば元に戻せる。但し、アップグレードによって一部のデータを削除してしまうような変更に対しては元の値に戻すことはできません。

1.7.1 のアップグレードによるマイグレーション処理を元に戻したいときは -version に 1.7.1 を指定する。

$ docker compose exec -it api /bin/migrate db -type down -version 1.7.1

-funcName で特定のマイグレーション処理のみに限定してダウングレードする。

$ docker compose exec -it api /bin/migrate db -type down -version 1.7.1 -funcName Session