diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_loader.py | 29 | ||||
| -rw-r--r-- | tests/migrations/test_migrations/0002_second.py | 4 | ||||
| -rw-r--r-- | tests/migrations/test_migrations_unmigdep/0001_initial.py | 20 | ||||
| -rw-r--r-- | tests/migrations/test_migrations_unmigdep/__init__.py | 0 |
4 files changed, 51 insertions, 2 deletions
diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py index 7b9ce72aab..564e5207b8 100644 --- a/tests/migrations/test_loader.py +++ b/tests/migrations/test_loader.py @@ -49,7 +49,10 @@ class LoaderTests(TestCase): migration_loader = MigrationLoader(connection) self.assertEqual( migration_loader.graph.forwards_plan(("migrations", "0002_second")), - [("migrations", "0001_initial"), ("migrations", "0002_second")], + [ + ("migrations", "0001_initial"), + ("migrations", "0002_second"), + ], ) # Now render it out! project_state = migration_loader.graph.project_state(("migrations", "0002_second")) @@ -67,6 +70,30 @@ class LoaderTests(TestCase): ["id", "author"] ) + @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations_unmigdep"}) + def test_load_unmigrated_dependency(self): + """ + Makes sure the loader can load migrations with a dependency on an unmigrated app. + """ + # Load and test the plan + migration_loader = MigrationLoader(connection) + self.assertEqual( + migration_loader.graph.forwards_plan(("migrations", "0001_initial")), + [ + ("auth", "__first__"), + ("migrations", "0001_initial"), + ], + ) + # Now render it out! + project_state = migration_loader.graph.project_state(("migrations", "0001_initial")) + self.assertEqual(len(project_state.models), 4) + + book_state = project_state.models["migrations", "book"] + self.assertEqual( + [x for x, y in book_state.fields], + ["id", "user"] + ) + @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"}) def test_name_match(self): "Tests prefix name matching" diff --git a/tests/migrations/test_migrations/0002_second.py b/tests/migrations/test_migrations/0002_second.py index ace9a83347..736e844825 100644 --- a/tests/migrations/test_migrations/0002_second.py +++ b/tests/migrations/test_migrations/0002_second.py @@ -3,7 +3,9 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [("migrations", "0001_initial")] + dependencies = [ + ("migrations", "0001_initial"), + ] operations = [ diff --git a/tests/migrations/test_migrations_unmigdep/0001_initial.py b/tests/migrations/test_migrations_unmigdep/0001_initial.py new file mode 100644 index 0000000000..f4c11b4657 --- /dev/null +++ b/tests/migrations/test_migrations_unmigdep/0001_initial.py @@ -0,0 +1,20 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("auth", "__first__"), + ] + + operations = [ + + migrations.CreateModel( + "Book", + [ + ("id", models.AutoField(primary_key=True)), + ("user", models.ForeignKey("auth.User", null=True)), + ], + ) + + ] diff --git a/tests/migrations/test_migrations_unmigdep/__init__.py b/tests/migrations/test_migrations_unmigdep/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/migrations/test_migrations_unmigdep/__init__.py |
