Inspired by Ruby on Rails' migrations, Migrate provides a way to deal with database schema changes in SQLAlchemy projects.

Migrate extends SQLAlchemy to have database changeset handling. It provides a database change repository mechanism which can be used from the command line as well as from inside python code.


Sphinx documentation is available at the project page

Users and developers can be found at #sqlalchemy-migrate on Freenode IRC network and at the public users mailing list migrate-users.

New releases and major changes are announced at the public announce mailing list migrate-announce and at the Python package index sqlalchemy-migrate.

Homepage is located at

You can also download development version <>; from SVN trunk.

Tests and Bugs

To run automated tests:

  • Copy test_db.cfg.tmpl to test_db.cfg
  • Edit test_db.cfg with database connection strings suitable for running tests. (Use empty databases.)
  • python test

Note that nose is required to run migrate's tests. It should be installed automatically; if not, try "easy_install nose".

Please report any issues with sqlalchemy-migrate to the issue tracker at issues