schema.rbを手動で分割する以外に、rails dbの移行ファイルをテーブルごとに1つのファイルにマージする良い方法はありますか?db/migrationファイルのマージ
マイグレーションファイルのほとんどは開発時に作成されたものであり、実際のデータ変更を表していません。歴史的な理由から、それらのファイルはソース管理システム上で引き続きアクセス可能です。私はこれらの不必要なファイルを保管することに不快感を感じます。
schema.rbを手動で分割する以外に、rails dbの移行ファイルをテーブルごとに1つのファイルにマージする良い方法はありますか?db/migrationファイルのマージ
マイグレーションファイルのほとんどは開発時に作成されたものであり、実際のデータ変更を表していません。歴史的な理由から、それらのファイルはソース管理システム上で引き続きアクセス可能です。私はこれらの不必要なファイルを保管することに不快感を感じます。
気にしないでください。古い移行ファイルは何の害もなく、メンテナンスが容易になる可能性があります。それらをそのまま残す。
まあ、あなたはきれいなスタートをしたいと思うかもしれません。最初のバージョンのリリースではプロジェクト開発モードになっていますが、すべての個別の移行ファイルを必要としません。彼らは明らかに傷つけることはできません。
基本的にはこれが可能です。
最初にスキーマとデータをバックアップします。
db/schema.rbには、スキーマの最新バージョンが含まれている(または含まれている)必要があります。そうでない場合は、
rake db:schema:dump
移行フォルダを削除できます。
は、次に実行します。
rake db:drop
rake db:schema:load
を最後のコマンドは、DB/schema.rbを実行し、新しいスキーマを作成します。これにより、データベースの最終バージョンが表示されます。
ショーデシベルタスク
すくい-Tデシベル
あなたが一つにマイグレーションにすべての歳をマージするSquasher宝石を使用することができます。
マイグレーションが実際のデータ変更を表す場合にのみ、メンテナンスが容易になりますが、そうではありません。 – guiding5
移行ファイルは*スキーマ*の変更を表すべきであり、データの変更は反映されません。削除したいサンプルの移行を投稿できますか? –
関連性のない多数の列を削除し、不要な索引、列の名前変更などを取り除きます。 – guiding5