Use Alembic instead of SQLAlchemy-Migrate
|Reported by:||dustin||Owned by:|
Description (last modified by dustin)
Migrate has some compatibility problems - in particular, it doesn't work with SQLAlchemy >= 8.0. Its API is a little unpredictable, too, and it doesn't do a very good job of masking differences between dialects. Its linear numbering scheme is also problematic when developing on topic branches, as a merge of branches with overlapping DB version numbers will need some substantial changes to put them in linear order.
Alembic seems to be the fix to all that, although that's as far as we've gotten.
This would make a decent, if small, Google Summer of Code project.
The goal of this project is clear: replace the functionality of SQLAlchemy-Migrate with equivalent functionality implemented with Alembic. A GSoC application should also address:
- Compatibility - users with current versions of Buildbot must be able to upgrade to Alembic
- Testing - when database migrations fail, users lose data. The current migrations are thoroughly tested to ensure they do the right thing on all supported databases, and the new implementation must do the same.