Find file
Fetching contributors…
Cannot retrieve contributors at this time
50 lines (40 sloc) 1.29 KB


Migrate multiple tables with similar schema at once.


gem install also_migrate


AlsoMigrate.configuration = [
    :source => 'articles',
    :destination => 'article_archives',
    :add => [
      # Parameters to ActiveRecord::ConnectionAdapters::SchemaStatements#add_column
      [ 'deleted_at', :datetime, {} ]
    :subtract => 'restored_at',
    :ignore => 'deleted_at',
    :indexes => 'id'
    :source => 'users',
    :destination => [ 'banned_users', 'deleted_users' ]


  • source Database schema source table
  • destination Database schema destination table (can also be an array of tables)
  • 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.