Railsアプリを始めてから、かなりの数の移行を作成しました。それらのいくつかは、テスト目的のためだけのものです。現在、まったく役に立たない移行がたくさんあります(たとえば、移行でテーブルを作成し、次のテーブルにドロップします)。
db:migrateが実行されるとschema.rbが更新されるので、すべての移行を削除して、schema.rbの実際のコンテンツから開始することは可能ですか?
Railsアプリを始めてから、かなりの数の移行を作成しました。それらのいくつかは、テスト目的のためだけのものです。現在、まったく役に立たない移行がたくさんあります(たとえば、移行でテーブルを作成し、次のテーブルにドロップします)。
db:migrateが実行されるとschema.rbが更新されるので、すべての移行を削除して、schema.rbの実際のコンテンツから開始することは可能ですか?
はい、古い移行を削除できます (おそらく削除する必要があります)。モデル コードはスキーマの新しいバージョンに依存するため、古い移行が機能しなくなる可能性がある時点が来るでしょう。
したがって、必ずマイグレーションを削除して (ソース管理下にありますよね?)、使用します。
rake db:schema:load
必要に応じて新しいデータベースを初期化します。
更新: Rails ガイドには、これについて次のような記述があります: http://guides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you