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:
gem 'multi-database-migrations'
And then execute:
$ bundle
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
- This plugin was originally created by James Stewart - http://jystewart.net/process/
- Converted to Rails 3 by Chris Rohr https://www.altamiracorp.com/profiles/crohr
- Converted to gem by sinsoku https://github.com/sinsoku/