After many years, I decided that my gem nondestructive migrations needed a facelift. It had some cruft I didn’t want, was packaged in the wrong way, and Alex Chaffee brought up a legitimate objection to the nuance of its name: the discriminating factor that differentiates these migrations is not destruction, he argued, and so the gem is likewise misnamed.

For all of these reasons, and to fix a problem with bundler’s ability to smoothly upgrade, I am renaming and replacing nondestructive migrations with nonschema migrations.

As well, this approach implements different versions of this gem for each different version of Rails, which became necessary when

ActiveRecord::Migration

was renamed to

ActiveRecord::Migration[X.X]

where X.X is the Rails version number. This strategy will allow bundler to easily pick up the new version of this gem when you upgrade Rails, and in the future I will release this along with Rails’ own release schedule.

https://github.com/jasonfb/nonschema_migrations

By Jason