Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[1.7.x] Tests for #22325

  • Loading branch information...
commit 31eac71a760b5f30796abfb0b18c3f7578b93e84 1 parent 1e8b1db
@andrewgodwin andrewgodwin authored
View
22 tests/migrations/test_executor.py
@@ -167,3 +167,25 @@ def fake_storer(phase, migration, fake):
executor.migrate([("migrations", None)])
self.assertTableNotExists("migrations_author")
self.assertTableNotExists("migrations_tribble")
+
+ @override_settings(
+ MIGRATION_MODULES={"migrations": "migrations.test_migrations_custom_user"},
+ AUTH_USER_MODEL="migrations.Author",
+ )
+ def test_custom_user(self):
+ """
+ Regression test for #22325 - references to a custom user model defined in the
+ same app are not resolved correctly.
+ """
+ executor = MigrationExecutor(connection)
+ self.assertTableNotExists("migrations_author")
+ self.assertTableNotExists("migrations_tribble")
+ # Migrate forwards
+ executor.migrate([("migrations", "0001_initial")])
+ self.assertTableExists("migrations_author")
+ self.assertTableExists("migrations_tribble")
+ # And migrate back to clean up the database
+ executor.loader.build_graph()
+ executor.migrate([("migrations", None)])
+ self.assertTableNotExists("migrations_author")
+ self.assertTableNotExists("migrations_tribble")
View
31 tests/migrations/test_migrations_custom_user/0001_initial.py
@@ -0,0 +1,31 @@
+# encoding: utf8
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+from django.conf import settings
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+
+ migrations.CreateModel(
+ "Author",
+ [
+ ("id", models.AutoField(primary_key=True)),
+ ("name", models.CharField(max_length=255)),
+ ],
+ ),
+
+ migrations.CreateModel(
+ "Tribble",
+ [
+ ("id", models.AutoField(primary_key=True)),
+ ("author", models.ForeignKey(to=settings.AUTH_USER_MODEL, to_field="id")),
+ ],
+ )
+
+ ]
View
0  tests/migrations/test_migrations_custom_user/__init__.py
No changes.
Please sign in to comment.
Something went wrong with that request. Please try again.