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
.