0
0

More than 3 years have passed since last update.

[Rails]rails db:resetで不要なmigrationファイルを削除

Posted at

不要なmigrationファイルがあり、rails db:migrateが適応されなかったのでアウトプット致します。
また、調べているとrails db:resetrails 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などで必ず履歴を取って置くことをおすすめ致します。
何かご指摘あれば頂きたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0