A plugin to make it easier to host migrations for multiple databases in one rails app. NOTE: This has been upgraded to work with Rails 3.0.x.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install multi-database-migrations
Rather than mixing all the migrations in one folder and relying on the specific migration to define which database it works with, we have separate folders for each database. Supposing you had a normal database--myapp_development--and a legacy database--legacy_development--we'd have something like:
db/migrate db/migrate/myapp db/migrate/legacy
and each database's migrations sit in the relevant folder.
With the plugin installed we have:
rails g multi_migration MigrationName DBName ....
which should accept all the options of a normal migration generation, and
rake db:multi:migrate DATABASE=xxxx
normally we would expect the database name to match rails' conventions, eg:
rake db:multi:migrate DATABASE=myapp
would look for a database configuration of myapp_development. But if you specify a full database name, we will look for a configuration with a matching database name.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request