不要なmigrationファイルがあり、rails db:migrate
が適応されなかったのでアウトプット致します。
また、調べているとrails db:reset
とrails db:migrate:reset
にも違いがあったためその違いも記載していきます。
#エラー内容
不要なマイグレーションファイルが存在するためrails db migrate
が実行できなかった。
rails db:migrate:status
で確認するとno file
というマイグレーションファイルがあったため、間違いに気づきました。
#rails db:migrate:resetとは何か?
DB を drop した後、通常通りのマイグレート(db:migrate)が行われます。
例えば、マイグレーションファイルに修正を加えこのコマンドを作成すると、そのマイグレーションファイル自体を削除し、新たに再構築しマイグレートしてくれると言うコマンド。
つまり、db/migrate/.rbが使われる。
#rails db:resetとの違い
db/schema.rbは、デーブル、カラム、エントリーが追加or削除された最新のデータベース構造を表しています。
rails db:reset は DB を drop して、現在の scheme をロードして DB を作り直します。
つまり、違いはschemeかdb/migrate/.rb の違い。
データベースをdropした後、schemeかdb/migrate/**.rb のどちらを用いて再構築するかの違いになります。
#まとめ
DBを一度削除する際には、gitなどで必ず履歴を取って置くことをおすすめ致します。
何かご指摘あれば頂きたいです。