diff options
| author | Moein Bbp <bbp.moein@yahoo.com> | 2024-01-17 23:45:52 +0330 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-13 14:47:49 +0100 |
| commit | cf107fe255dbc4e1619c0985e4becdd9cabe8235 (patch) | |
| tree | 4098f4e0b0dca449cce16a6dc3df5d57198b8084 /tests/migrations | |
| parent | 222bf2932b55ebc964ffc5f9a6f47bad083e5ac2 (diff) | |
Fixed #35122 -- Made migrate --prune option respect --app_label.
Diffstat (limited to 'tests/migrations')
| -rw-r--r-- | tests/migrations/test_commands.py | 47 |
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): """ |
