I have previously created a migration tool in c# utilizing dbUp which in addition to doing migrations maintained the state of views/functions/stored procedures (as well as eventually users etc). This allowed us to maintain views etc as if it were code and with each migration the views etc would be dropped and recreated at the state of the revision that is checked out. This had the advantage of treating your database objects (aside from tables where migration makes the most sense) as code that is part of the application. The database code was no longer "hidden" or shrouded in mystery. Now that I'm entrenched in python and use alembic and sqlalchemy which I love, I'd like to implement this functionality in this language. I've considered creating a separate app that wraps alembic to handle this however I'd like to know if there is any interest in having this functionality in the main application as an extension of sorts.
Issue #434 closed