Ever tried to rollback a migration from a legacy project only to find the following error popup?
== AddGlobalNotificationSupport: reverting =================================== rake aborted! An error has occurred, this and all later migrations canceled: ActiveRecord::IrreversibleMigration/usr/local/rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/migration/command_recorder. rb:42:in `block in inverse'
Thats right. ActiveRecord says its an IrreversibleMigration.
Turns out using change_table as part of your migration is not a good idea. If you’re using something like that, you should consider changing into a more manual approach like add_column, remove_column.