Fixed #27200 -- Provided makemigration's allow_migrate() with model_name.
This commit is contained in:
parent
51b83d9e51
commit
cd09524f27
|
@ -101,9 +101,12 @@ class Command(BaseCommand):
|
||||||
aliases_to_check = connections if settings.DATABASE_ROUTERS else [DEFAULT_DB_ALIAS]
|
aliases_to_check = connections if settings.DATABASE_ROUTERS else [DEFAULT_DB_ALIAS]
|
||||||
for alias in sorted(aliases_to_check):
|
for alias in sorted(aliases_to_check):
|
||||||
connection = connections[alias]
|
connection = connections[alias]
|
||||||
if (connection.settings_dict['ENGINE'] != 'django.db.backends.dummy' and
|
if (connection.settings_dict['ENGINE'] != 'django.db.backends.dummy' and any(
|
||||||
# At least one app must be migrated to the database.
|
# At least one model must be migrated to the database.
|
||||||
any(router.allow_migrate(connection.alias, label) for label in consistency_check_labels)):
|
router.allow_migrate(connection.alias, app_label, model_name=model._meta.object_name)
|
||||||
|
for app_label in consistency_check_labels
|
||||||
|
for model in apps.get_models(app_label)
|
||||||
|
)):
|
||||||
loader.check_consistent_history(connection)
|
loader.check_consistent_history(connection)
|
||||||
|
|
||||||
# Before anything else, see if there's conflicting apps and drop out
|
# Before anything else, see if there's conflicting apps and drop out
|
||||||
|
|
|
@ -14,3 +14,6 @@ Bugfixes
|
||||||
|
|
||||||
* Fixed a performance regression when running ``migrate`` in projects
|
* Fixed a performance regression when running ``migrate`` in projects
|
||||||
with ``RenameModel`` operations (:ticket:`27279`).
|
with ``RenameModel`` operations (:ticket:`27279`).
|
||||||
|
|
||||||
|
* Added ``model_name`` to the ``allow_migrate()`` calls in ``makemigrations``
|
||||||
|
(:ticket:`27200`).
|
||||||
|
|
|
@ -638,7 +638,7 @@ class MakeMigrationsTests(MigrationTestBase):
|
||||||
with self.settings(DATABASE_ROUTERS=['migrations.routers.TestRouter']):
|
with self.settings(DATABASE_ROUTERS=['migrations.routers.TestRouter']):
|
||||||
with mock.patch.object(TestRouter, 'allow_migrate', return_value=False) as allow_migrate:
|
with mock.patch.object(TestRouter, 'allow_migrate', return_value=False) as allow_migrate:
|
||||||
call_command('makemigrations', 'migrations', verbosity=0)
|
call_command('makemigrations', 'migrations', verbosity=0)
|
||||||
allow_migrate.assert_called_with('other', 'migrations')
|
allow_migrate.assert_called_with('other', 'migrations', model_name='UnicodeModel')
|
||||||
self.assertEqual(ensure_schema.call_count, 4)
|
self.assertEqual(ensure_schema.call_count, 4)
|
||||||
|
|
||||||
def test_failing_migration(self):
|
def test_failing_migration(self):
|
||||||
|
|
Loading…
Reference in New Issue