summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJarek Glowacki <jarekwg@gmail.com>2016-08-05 09:37:42 +1000
committerTim Graham <timograham@gmail.com>2016-08-05 18:11:38 -0400
commit1e16e141ac7100fe14c6f8837b3871fde13ca9be (patch)
tree493cc4c55a6be533ee27d6dfedbdd2234fcc9156 /tests
parentbfd8f16fbdae1aeaa4d5076721238c041d582e82 (diff)
[1.10.x] Fixed #27004 -- Made migrations consistency check ignore unapplied squashed migrations.
Backport of d117567c7d65c3c28858c4dfc771483b182075e4 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_loader.py17
-rw-r--r--tests/migrations/test_migrations_squashed_extra/0001_initial.py8
-rw-r--r--tests/migrations/test_migrations_squashed_extra/0001_squashed_0002.py11
-rw-r--r--tests/migrations/test_migrations_squashed_extra/0002_second.py8
-rw-r--r--tests/migrations/test_migrations_squashed_extra/0003_third.py8
-rw-r--r--tests/migrations/test_migrations_squashed_extra/__init__.py0
6 files changed, 52 insertions, 0 deletions
diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py
index 0b014f7d57..c97cddb913 100644
--- a/tests/migrations/test_loader.py
+++ b/tests/migrations/test_loader.py
@@ -381,6 +381,23 @@ class LoaderTests(TestCase):
with self.assertRaisesMessage(InconsistentMigrationHistory, msg):
loader.check_consistent_history(connection)
+ @override_settings(
+ MIGRATION_MODULES={'migrations': 'migrations.test_migrations_squashed_extra'},
+ INSTALLED_APPS=['migrations'],
+ )
+ def test_check_consistent_history_squashed(self):
+ """
+ MigrationLoader.check_consistent_history() should ignore unapplied
+ squashed migrations that have all of their `replaces` applied.
+ """
+ loader = MigrationLoader(connection=None)
+ recorder = MigrationRecorder(connection)
+ recorder.record_applied('migrations', '0001_initial')
+ recorder.record_applied('migrations', '0002_second')
+ loader.check_consistent_history(connection)
+ recorder.record_applied('migrations', '0003_third')
+ loader.check_consistent_history(connection)
+
@override_settings(MIGRATION_MODULES={
"app1": "migrations.test_migrations_squashed_ref_squashed.app1",
"app2": "migrations.test_migrations_squashed_ref_squashed.app2",
diff --git a/tests/migrations/test_migrations_squashed_extra/0001_initial.py b/tests/migrations/test_migrations_squashed_extra/0001_initial.py
new file mode 100644
index 0000000000..9a330e1067
--- /dev/null
+++ b/tests/migrations/test_migrations_squashed_extra/0001_initial.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+ pass
diff --git a/tests/migrations/test_migrations_squashed_extra/0001_squashed_0002.py b/tests/migrations/test_migrations_squashed_extra/0001_squashed_0002.py
new file mode 100644
index 0000000000..79beebea1c
--- /dev/null
+++ b/tests/migrations/test_migrations_squashed_extra/0001_squashed_0002.py
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+ replaces = [
+ ("migrations", "0001_initial"),
+ ("migrations", "0002_second"),
+ ]
diff --git a/tests/migrations/test_migrations_squashed_extra/0002_second.py b/tests/migrations/test_migrations_squashed_extra/0002_second.py
new file mode 100644
index 0000000000..4b892a7e8b
--- /dev/null
+++ b/tests/migrations/test_migrations_squashed_extra/0002_second.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+ dependencies = [("migrations", "0001_initial")]
diff --git a/tests/migrations/test_migrations_squashed_extra/0003_third.py b/tests/migrations/test_migrations_squashed_extra/0003_third.py
new file mode 100644
index 0000000000..b69ae8883b
--- /dev/null
+++ b/tests/migrations/test_migrations_squashed_extra/0003_third.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+ dependencies = [("migrations", "0002_second")]
diff --git a/tests/migrations/test_migrations_squashed_extra/__init__.py b/tests/migrations/test_migrations_squashed_extra/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/migrations/test_migrations_squashed_extra/__init__.py