Opened 7 years ago

Last modified 5 years ago

#2590 new project-idea

Use Alembic instead of SQLAlchemy-Migrate — at Version 3

Reported by: dustin Owned by:
Priority: major Milestone: 0.9.+
Version: Keywords: database
Cc: rutsky.vladimir@…

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.

Scope

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.

Change History (3)

comment:1 Changed 6 years ago by dustin

  • Milestone changed from 0.8.+ to 0.9.+
  • Version 0.8.8 deleted

comment:2 Changed 6 years ago by rutsky

  • Cc rutsky.vladimir@… added

comment:3 Changed 6 years ago by dustin

  • Description modified (diff)
Note: See TracTickets for help on using tickets.