だから私はこのWebアプリに1年間取り組んできました.1つの移行にスキーマをコンパイルしたいと思います.
検索検索が速くなります。
私のconfig/dbは4000pxの長さではありません。
だから私はこのWebアプリに1年間取り組んできました.1つの移行にスキーマをコンパイルしたいと思います.
検索検索が速くなります。
私のconfig/dbは4000pxの長さではありません。
サーバーを移行したら、移行ファイルを削除します。rake db:schema:load
新しい展開を開始する場合は、またはを実行しrake db:setup
ます。ここで説明されているように、すべての移行を再実行するべきではありません。
移行を永遠に保持する必要はありません。移行が不要になったと確信したらすぐに削除してかまいません。db/migrate/
ディレクトリに移動して、たとえば数か月以上経過した移行を削除するだけです。
削除したいすべての移行がどこにでも適用されている限り (つまり、開発と運用)、それらはもう必要ありません (逆行したくない場合を除きます)。本当に、移行は永続的なファイルであることを意図したものではなく、A から B に移動するためのものであり、単なる荷物です。
答えのどれもそれについて言及していないことを考えると、これは仕事をする宝石です: https://github.com/jalkoby/squasher
基本的に、指定した日付まで移行をゼロから再実行し、結果db/schema.rb
を最初の移行にロードして、古い移行を置き換えます。テーブルをクリーンアップして、schema_migrations
それらを取得しないようにすることもできます
up <timestamp> ********** NO FILE **********
実行時のエントリrake db:migrate:status
。
1 つの方法は、空のデータベースを使用してすべての移行を実行することです。これで、yaml に保存できるすべてのテンプレート データを取得できました。yaml とスキーマは、既存の移行を実行せずに DB を戻すのに十分なはずです。
ただし、他の回答では、これを行うための既存のツールまたは宝石について言及する必要があります。