summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_loader.py29
-rw-r--r--tests/migrations/test_migrations/0002_second.py4
-rw-r--r--tests/migrations/test_migrations_unmigdep/0001_initial.py20
-rw-r--r--tests/migrations/test_migrations_unmigdep/__init__.py0
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