| 1 | It's very easy and not explicitly not-supported to create circular dependencies in your apps. I have attached a test project which has two circular dependency resolution failures. |
| 2 | |
| 3 | This fails to create migrations: |
| 4 | |
| 5 | ./manage.py makemigrations contractors inspections organisations properties reports tasks timeline |
| 6 | |
| 7 | This creates the migrations: |
| 8 | |
| 9 | ./manage.py makemigrations properties reports tasks timeline |
| 10 | ./manage.py makemigrations contractors inspections |
| 11 | |
| 12 | But then ./manage.py migrate fails: |
| 13 | |
| 14 | django.db.migrations.graph.CircularDependencyError: [('contractors', u'0002_auto_20140821_0156'), ('reports', u'0001_initial'), ('inspections', u'0001_initial'), ('contractors', u'0002_auto_20140821_0156')] |
| 15 | |
| 16 | |
| 17 | I have tried manually breaking up the migrations into lots of little steps, but you'll have the same problem with the reports and inspections app. Even with lots of tiny migrations it eventually loops around. |
| 18 | |