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


この記事が気に入ったらサポートをしてみませんか?