Migrate multiple tables with similar schema at once
Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 14 commits behind winton:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
rails
spec
.gitignore
LICENSE
README.md
Rakefile
also_migrate.gemspec
init.rb

README.md

AlsoMigrate

Migrate multiple tables with similar schema at once.

Requirements

gem install also_migrate

Define the model

class Article < ActiveRecord::Base
  also_migrate(
    :article_archives,
    :add => [
      # Parameters to ActiveRecord::ConnectionAdapters::SchemaStatements#add_column
      [ 'deleted_at', :datetime, {} ]
    ],
    :subtract => 'restored_at',
    :ignore => 'deleted_at',
    :indexes => 'id'
  )
end

Options:

  • add Create columns that the original table doesn't have (defaults to none)
  • subtract Exclude columns from the original table (defaults to none)
  • ignore Ignore migrations that apply to certain columns (defaults to none)
  • indexes Only index certain columns (duplicates all indexes by default)

That's it!

Next time you migrate, article_archives is created if it doesn't exist.

Any new migration applied to articles is automatically applied to article_archives.