現在、私は巨大な Rails アプリケーションと、このアプリケーションのそれぞれに新しい機能を備えた複数のブランチで作業しています。機能が移行を必要とすることはよくありますが、マスターとマージするまでは問題にはなりません: schema.rb は開発データベースの情報で更新されました!
明確にするために:
1. Branch A has migration create_table_x
2. Branch B has migration create_table_y
3. Branch A adds another create_table_z and runs db:migrate
4. You want to merge Branch A with Master and you see table_x, table_y and table_z in the schema.rb of Branch A.
ブランチでのすべての移行の前にデータベースをリセットしてシードするか、ブランチごとにデータベースを作成するオプションではありません。2 GB の SQL データはサイズが大きいため、実行できません。
私の質問:
schema.rb は移行ごとに再構築されるため、リポジトリに保持する必要は本当にありますか?
もしそうなら、データベースダンプの代わりに移行からスキーマを構築することは可能ですか?