jes5199
jes5199

Reputation: 18933

Should I flatten Rails migrations?

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?

Upvotes: 9

Views: 1381

Answers (3)

RyanWilcox
RyanWilcox

Reputation: 13972

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)

Upvotes: 3

Jarrett Meyer
Jarrett Meyer

Reputation: 19573

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.

Upvotes: 1

Tomas Markauskas
Tomas Markauskas

Reputation: 11596

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.

Upvotes: 5

Related Questions