Replies: 2 comments 9 replies
-
hi, I have skimmed the article, great that it works for them. There are some things mentioned there that are already supported by alembic, like 1 is the file template in the ini file https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file For other parts is seems that the main idea assumes that a migration can run whenever, and do not depend on other ones. If that's the case then the migration ordering is a lot simpler. Overall the maintainer of alembic do not have the resources to implement and/or support another revision model. So I guess from your point of view, you could ask if they are willing to open source the changes they have made |
Beta Was this translation helpful? Give feedback.
-
well, comments:
I think this is the key issue and I can think of ways that this can be more simply flagged in CI by introducing a new file that will create a git merge conflict, so that the need to run
Alembic was explicitly designed to replace sqlalchemy-migrate which used numbered migrations and was immensely difficult to deal with, replacing numbering with a linked list instead. Datestamps are of course not the same as "numbered".
That seems like a huge problem? Migrations absolutely can have dependencies on each other and this is not based on whether or not the migrations in question were introduced years or hours apart
This sounds like what you get when you run multiple roots in alembic. i think we might have had people talking about storing all migrations as their own root. the flow / UX is not optimized for this however
well that's interesting
I dont totally get this. They are essentially changing the numbering scheme so that it naturally merges by exact datestamp of a migration. I can see ways to just have the usual branch / merge flow which uses a simple utility to determine this for you, without using a weird implicit date scheme that will hide problems, and as mentioned above, the issue that it gets merged into main without alerts can be resolved without rewriting Alembic's whole versioning model. I definitely dont think it's safe to just say "we dont have branches and every migration just flows implicitly, with no operator alerts in a shuffled form", the operator definitely has to know that someone else also added a migration on the same root as yours. Maybe these folks just havent worked on the kinds of database systems that I have.
good for them! they should release on pypi. My overall impression is:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
In this article: https://medium.com/alan/making-alembic-migrations-more-team-friendly-e92997f60eb2
Engineers from Alan explain how they customized Alembic to be more "team friendly", meaning: no more branches needing resolution.
In the end they have a customized Alembic setup that allows for automatic migration ordering (along with storing metrics about migrations).
What does the community think about this ?
What does the Alembic team think about this ?
I know I would love something like that !
Beta Was this translation helpful? Give feedback.
All reactions