Mongrations
Mongrations aims to be similar to ActiveRecord's data migrations, except instead of worrying about schema changes, offering a way to change data when necessary.
Example: You decide after a few weeks of running an application that you want to add timestamps, and want to display the created_at time for an application.
You could put a default timestamp into the model (and in this case that might be appropriate), but you might also just want to say, "everything needs to get a new timestamp that doesn't already have one, let's say when the US beat Canada in hockey in the Olympics."
Example
To generate a mongration, just do:
script/generate mongration whatever_you_want_your_mongration_to_be
To run it, do
rake db:mongrate
Other rake tasks added have been db:mongrate:redo
, db:mongrate:up
, db:mongrate:down
, db:mongrate:rollback
.
Dependencies
You need Mongo and MongoMapper for this to be of any use.
Also, this has only been tested on Rails 3.2.3.
Disclaimer
This is not ready for production
I just adapted this, at 10:30PM, half watching the Olympics. I'm not responsible for any damage to your data, your mongodb, your bongos, your cat, your wife, or your kids as a result of installing this plugin.
Give it a few days. Please report bugs.
Credit
Original code is from Rails 2.3.5 and ActiveRecord 2.3.5, now adapted to work with MongoMapper.
License
Released under the MIT license