※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
データベースの状態は戻せない
【前提】
マイグレーション「rails db:migrate
」を実行したかどうかが重要となってくるため、VScodeにあるマイグレーションファイルの中身だけ書き換えても、データベースは元の状態には戻せない
例)
- ブランチAでmigrationを実行
- データベースはα→βの状態になる
- ブランチをAからmasterに戻す(コミットしない)
- データベースはβのままで、αに戻らない
データベースの状態を戻す
データベースを元に戻したいときはロールバックをする
現在、3つのマイグレーションファイルがある

ターミナル画面で、以下を実行する
rails db:rollback
実行結果で「remove_reference(:articles, :user)
」と表示される

:userのreferenceを作成していたけど

これを取り除いた(remove)、ということ
再度、rails db:migrate
を実行する
→ 取り除いたマイグレーションファイル(:userのreference)が反映する

データベースを最初から作り直したい
マイグレーションファイルは3つある
→ 3つのマイグレーションファイルをロールバックする
rails db:rollback STEP=3
実行すると、マイグレーションファイルが3つ逆行(reverting)する

データはすべて消えてしまうが、データべースの作り直しができる

- リリース後は大勢の人が実際に利用しているので、ロールバックを行うとデータが消えてしまって大変なことになる!
- ロールバックは開発中(リリース前)に行うこと!
#DAY21