We've encountered times in our current project that would benefit
greatly from a standard migration mechanism. At the moment, we are
just using subclasses of Controller.
1) A standard revision number is probably the simplest and least error
prone way of doing this. I don't think that everyone would be using
SVN and those who are would probably use svn export to generate a copy
of the code for the website.
2) In terms of being compatible with 4), surely the easiest way is to
have a DatabaseMigration class in a PHP script or something? Possibly
even have it extend task so that it's in a list on /dev/tasks?
3) A safe way of doing this would be pretty useful. I quite often had
subtle errors in my Rails migrations that made reversing them a bit of