It's possible to replace db/migrate/* with the contents of db/schema.rb, so that you only have one migration step.
Do any of you ever do this? Why?
Why would you want to do this? You could just run rake db:schema:load
if you don't want to run all migrations. Migrations are used not (only) to initialize a new database, but to migrate it to another version.
Also, some big Ruby on Rails kit packages (like that one that's slipping my mind now that lets you set up an ecommerce site in your Rails app), flatten their migrations.
I've also known of projects with a ton of migrations to do this every once in a while to reduce the amount of time it takes to run rake db:migrate start to finish (say, on the continuous integration server)
You can do rake db:schema:load to import the entire schema in one step. This is recommended, as opposed to running a ton of migrations.
来源:https://stackoverflow.com/questions/1910001/should-i-flatten-rails-migrations