I’m working on this as a standalone PoC app for now, I may be able to share a repository with the code soon in order to get some feedback
Here’s in simple words where I’m at:
* I’ve replaced the restriction of only-one-leaf-node-per-app from the Migration Loader [1] to only-one-leaf-node-per-app-per-model. It means that with this, you can have more than one person changing different models in the same app, without introducing conflicts. Migrations referring to the same app and model would still cause a conflict
* I’m now trying to get the migration graph’s forwards/backwards plan to handle cases where there are more than one leaf node in the graph.
I may be doing the wrong assumption here, but it seems to me that migrations changing different models shouldn’t introduce a real conflict? If I have the following migration graph:
[ 0001_initial ] => [ 0002_auto ] => [ 0003_abc ] => [ 0003_def ] => [ 0004_auto ]
Where 0003_abc and 0003_def don’t have any model changes in common: no FK references, nothing related at all
If this assumption is correct, I could have the two migrations in ANY order in the graph, that it would still give me the same result, for example:
[ 0001_initial ] => [ 0002_auto ] => [ 0003_def ] => [ 0003_abc ] => [ 0004_auto ]
Please let me know if I’m missing something, ideas and thoughts are really welcome :)