0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

マイグレーションを扱うときに使ったコマンド

Last updated at Posted at 2022-12-29

マイグレーションを扱うときに使ったコマンド

migrationファイルの適用状況を確認

出典

rails db:migrate:status  

【Status】の列が【up】のものは実行済み【down】のものは未実行です。

出典

********@mbp ******* % rails db:migrate:status                     

database: **************

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20221220165730  ********** NO FILE **********
   up     20221221072255  Create products
   up     20221224080150  ********** NO FILE **********
   up     20221227063442  ********** NO FILE **********
   up     20221227080056  Change name on products
  down    20221227084232  Remove name from products

********** NO FILE **********とは?

削除したマイグレーションファイルの後に********** NO FILE **********と表示されるでしょう。これは、そのマイグレーションファイルが特定の環境で一度実行されたが、db/migrate/ディレクトリの下に見当たらない場合に表示されます。

出典

マイグレーションファイルを削除する場合

マイグレーションファイルを削除する際は必ずdown状態になっているのを確認してから削除するようにしましょう。

出典

特定のバージョンのスキーマに変更

出典

rails db:migrate:up VERSION=********** 

特定のマイグレーションをupまたはdown方向に実行する必要がある場合は、db:migrate:upまたはdb:migrate:downタスクを使います。以下に示したように、適切なバージョン番号を指定するだけで、該当するマイグレーションに含まれるchange、up、downメソッドのいずれかが呼び出されます

出典

マイグレーションをロールバック

マイグレーションに誤りがあって訂正したい場合などに使用する

出典

bin/rails db:rollback

changeメソッドを逆転実行するかdownメソッドを実行する形で直前のマイグレーションにロールバックします。マイグレーションを2つ以上ロールバックしたい場合は、STEPパラメータを指定できます。

$ bin/rails db:rollback STEP=3

最後に行った3つのマイグレーションがロールバックされます。

マイグレーションのカラムの変更は一つずつ行う

多分それを書いていると思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?