also_migrate
also_migrate copied to clipboard
Migrate multiple tables with similar schema at once
AlsoMigrate
Migrate multiple tables with similar schema at once.
Requirements
gem install also_migrate
Configure
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' ]
}
]
Options:
sourceDatabase schema source tabledestinationDatabase schema destination table (can also be an array of tables)addCreate columns that the original table doesn't have (defaults to none)subtractExclude columns from the original table (defaults to none)ignoreIgnore migrations that apply to certain columns (defaults to none)indexesOnly 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.