Just for reminder: In Case when a squash migration is created, a list
inside it is maintained which tracks all migrations it replaced called
replaces.
Problem: when a squash migration is rolled back all its replaces(which can
be dependencies or depended on other migrations) are marked UN-applied but
squash migration migration it-self does not record UN-applied. Since the
operation of rolling back squash migration becomes completed. But Then
when new migrate operation is performed, it causes inconsistency error e.g
below:
"django.db.migrations.exceptions.InconsistentMigrationHistory: Migration
compliance.0007_auto_20180329_1238_squashed_0026_auto_20180815_0741 is
applied before its dependency
survey.0092_prospectfarmerviewlinkcompliancelink on database 'default' ."
--
Ticket URL: <https://code.djangoproject.com/ticket/30039>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by Carlton Gibson):
Hi. Thanks for the report. Are you able to put together a small sample
project demonstrating this?
--
Ticket URL: <https://code.djangoproject.com/ticket/30039#comment:1>
* needs_tests: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/30039#comment:2>
Comment (by Simon Charette):
Or at least tests to demonstrate the issue.
--
Ticket URL: <https://code.djangoproject.com/ticket/30039#comment:3>
* status: new => closed
* resolution: => worksforme
* component: Database layer (models, ORM) => Migrations
Comment:
OK, I can't reproduce this with the information provided.
In my testing all combinations of `migrate`, `showmigrations`,
`squashmigrations` and so on are behaving as expected.
Happy to look at a sample project demonstrating an issue, but short of
that I'm not sure we can say anything.
--
Ticket URL: <https://code.djangoproject.com/ticket/30039#comment:4>