Rails ActiveRecord migrations, without Rails?

Are there any frameworks out there that execute migrations as well as
Rails does? Or how difficult of a task would it be to extract the
migration functionality?

The practicality of having version control on changes made to a database
is a fantastic thing and I would love to get the migration functionality
available to Rails and apply it to any database.

I've started a very small app with newgen that does the initial
bootstrapping (just builds the simple directory structure, a blank
database.yml file and a simple Rakefile with some basic tasks), but I
have no migration generation yet as I would like to borrow as much from
Rails as possible (timestamps for versioning and such).

If anyone could point me in a direction, or would like me to start up a
project on Github, feel free to chime in. I think this would benefit
many others aside from me.

You could certainly have an almost empty rails app containing nothing
but migrations. With what I expect what be not too much work (and not
involving much rocket science) you could extract the relevant rake
tasks and do away with the empty husk of the application.

Fred

Oh, and you can also use activerecord outside of rails completely -
it's a standalone framework.

Fred

Frederick Cheung wrote:

On Aug 7, 2:37�am, Matthew Williams <rails-mailing-l...@andreas-s.net>
wrote:> Are there any frameworks out there that execute migrations as well as
> Rails does? �Or how difficult of a task would it be to extract the
> migration functionality?

You could certainly have an almost empty rails app containing nothing
but migrations. With what I expect what be not too much work (and �not
involving much rocket science) you could extract the relevant rake
tasks and do away with the empty husk of the application.

Oh, and you can also use activerecord outside of rails completely -
it's a standalone framework.

Fred

I realize you can use ActiveRecord without and I do have a small base
with a few tasks to fire off migrations, like I mentioned,but I would
really like the migration generator that Rails provides and the other
functionality for versioning and rolling back which is not so out of the
box when using ActiveRecord standalone.

I have considered just using an empty Rails project and cleaning up the
rake file but that's as clean of a solution as I would like though I may
end up going that route.

Have you looked at the rake file ? There's really not a lot too it.
All the migration stuff together is just over 30 lines. (The migration
generator stuff is not much more complicated, but the functionality is
a little more dispersed)

Eg the migrate task is just

ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ?
ENV["VERSION"].to_i : nil)

the rollback task is just

ActiveRecord::Migrator.rollback('db/migrate/', ENV['STEP'] ?
ENV['STEP'].to_i : 1)

and so on.

Fred

Frederick Cheung wrote: