Migrations from different Rails versions

I started my project with Rails 2.0 and created two migrations (wich I applied with rake db:migrate as usual). So I have these two files under db/migrate:

001_create_ads.rb 002_rename_description_column.rb

Last week I updated my Rails version to 2.1.0 and created a new migration file (notice the change in nomenclature):


Now when I run rake db:migrate I get an error telling me that the Ads table already exists, like it's running my first migration class, but I only want to update the data base to the last migration. Am I doing something wrong or is this caused by the change in nomenclature or the update to a new Rails version?


Bump. I can't believe none else is having this same problem.

Personally I haven't updated yet.

Here is information about the new migrations: http://ryandaigle.com/articles/2008/4/2/what-s-new-in-edge-rails-utc-based-migration-versioning

One solution is to use the old numbering scheme: Add this to environment.rb:

  config.active_record.timestamped_migrations = false

Then manually rename the newly named migrations to match the old scheme and eventually set the version in the schema_info table.

HTH,   Stefan

Turning timestamped migrations off doesn't work for me (I get an error). The only workaround I've found so far is executing the migration individually, but I'm afraid that could be a problem in deployment and in the long term.

People don't seem to love this new feature though from the comments at that page :S

Thanks anyway, Stefan.