rails マイグレーションについて
こんばんは。
マイグレーションで検索すると、結構初心者の方(自分含め)でミスを犯してるみたいなので...というのは建前で、実際にミスを犯してしまったので、忘れる前にnoteにまとめて置こうと思います。
# 事象
githubでコンフリクトが起きているにも関わらず進めてしまったため、
一度作っていた部分までデータが消えてしまった。
⇨結果として、DB内にテーブルはあるが、migrateファイルの修正が
できずにエラーとなった。
#今回行ったこと
migrateファイルの除去
DBのテーブルの除去
モデルの作成
migrateファイルの作成
#手順
1. まずはmigrateファイルの除去
そのままディレクトリから抜き出したり、ゴミ箱に捨てた場合、dbとの
関係がずれてしまうので、できない..
このため、まずは" rails db:migrate:status"で状況の確認
まずは、目的のmigrateファイルをdown状態にしてください!
how : rails db:migrate:down VERSION=各々のversion
その次にrm "migrateファイル"をターミナルで打ち込み消す。
2.DBのテーブルの除去
自分の場合、テーブルは残ったままで、必要なカラムが抜けている
という事態だったので、デーブルの削除を行う。
how: ターミナルで、mysql -u rootを打ち込みSQLを起動
SHOW DATABASESで確認したいDBの確認を行い、USE "db名;"で選択。
その後、DROP TABLE [テーブル1];でテーブルの削除。
3.4ここで、ようやくrails g model ”モデル名”+rails db:migrate
を行い、モデルとカラムの修正..
結局2時間位無駄にしてしまった...
誰かの役に立てばと思って、残します。
参考記事
https://qiita.com/yosemite2307/items/9829d101458eb6eb317a
https://joppot.info/2014/10/14/2073
https://sql55.com/t-sql/t-sql-drop-table-1.php
この記事が気に入ったらサポートをしてみませんか?