summaryrefslogtreecommitdiff
path: root/tests/migrations
diff options
context:
space:
mode:
authorMoein Bbp <bbp.moein@yahoo.com>2024-01-17 23:45:52 +0330
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-02-13 14:47:49 +0100
commitcf107fe255dbc4e1619c0985e4becdd9cabe8235 (patch)
tree4098f4e0b0dca449cce16a6dc3df5d57198b8084 /tests/migrations
parent222bf2932b55ebc964ffc5f9a6f47bad083e5ac2 (diff)
Fixed #35122 -- Made migrate --prune option respect --app_label.
Diffstat (limited to 'tests/migrations')
-rw-r--r--tests/migrations/test_commands.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py
index 1f8b3fb011..6ef172ee6f 100644
--- a/tests/migrations/test_commands.py
+++ b/tests/migrations/test_commands.py
@@ -1427,6 +1427,53 @@ class MigrateTests(MigrationTestBase):
with self.assertRaisesMessage(CommandError, msg):
call_command("migrate", prune=True)
+ @override_settings(
+ MIGRATION_MODULES={
+ "migrations": "migrations.test_migrations_squashed_no_replaces",
+ "migrations2": "migrations2.test_migrations_2_squashed_with_replaces",
+ },
+ INSTALLED_APPS=["migrations", "migrations2"],
+ )
+ def test_prune_respect_app_label(self):
+ recorder = MigrationRecorder(connection)
+ recorder.record_applied("migrations", "0001_initial")
+ recorder.record_applied("migrations", "0002_second")
+ recorder.record_applied("migrations", "0001_squashed_0002")
+ # Second app has squashed migrations with replaces.
+ recorder.record_applied("migrations2", "0001_initial")
+ recorder.record_applied("migrations2", "0002_second")
+ recorder.record_applied("migrations2", "0001_squashed_0002")
+ out = io.StringIO()
+ try:
+ call_command("migrate", "migrations", prune=True, stdout=out, no_color=True)
+ self.assertEqual(
+ out.getvalue(),
+ "Pruning migrations:\n"
+ " Pruning migrations.0001_initial OK\n"
+ " Pruning migrations.0002_second OK\n",
+ )
+ applied_migrations = [
+ migration
+ for migration in recorder.applied_migrations()
+ if migration[0] in ["migrations", "migrations2"]
+ ]
+ self.assertEqual(
+ applied_migrations,
+ [
+ ("migrations", "0001_squashed_0002"),
+ ("migrations2", "0001_initial"),
+ ("migrations2", "0002_second"),
+ ("migrations2", "0001_squashed_0002"),
+ ],
+ )
+ finally:
+ recorder.record_unapplied("migrations", "0001_initial")
+ recorder.record_unapplied("migrations", "0001_second")
+ recorder.record_unapplied("migrations", "0001_squashed_0002")
+ recorder.record_unapplied("migrations2", "0001_initial")
+ recorder.record_unapplied("migrations2", "0002_second")
+ recorder.record_unapplied("migrations2", "0001_squashed_0002")
+
class MakeMigrationsTests(MigrationTestBase):
"""