🥚
Ruby on Railsで特定のマイグレーションファイルを編集する方法
実装をある程度進めてしまってからDB(データベース)のマイグレーションファイルに修正が必要になった!という経験ありませんか?
私はよくあります。
その度に
$ rails db:migrate:reset
をしてたのですが、DBごと消えてしまうので、働き始めてからはあまり使えなそうです。
でも大丈夫!編集したいマイグレーションファイルを一つだけ選んでmigrateするコマンドがありました!
流れ
1.マイグレーションファイルの状態とIDを確認する
2.特定のマイグレーションファイルをDOWNの状態にする
3.マイグレーションファイルを編集する
4.rails:db:migrateコマンドを実行する
手順
手順1
このコマンドを打つと、現在のマイグレーションファイルの状態(UP/DOWM)や、マイグレーションファイルごとのIDをみることができます。
$ rails db:migrate:status
↑こんな感じに。
手順2
特定のマイグレーションファイルをDOWNにするコマンドはこれです。
(Migration IDには数字が入ります)
$ rails db:migrate:down VERSION=Migration ID
今回は、bookmarksのマイグレーションファイルをDOWNにしたいと思います。
お目当てのマイグレーションファイルのIDをコピーした上で、
$ rails db:migrate:down VERSION=20231030225755
と入力します。
そうすると、bookmarksのStatusがdownになりました!
手順3
マイグレーションファイルを適宜変更してください。
手順4
編集したマイグレーションファイルをUPにします。
ターミナルに
$ rails:db:migrate
と打ってください。
これでマイグレーションファイルの編集が完了!
Discussion