summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_commands.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py
index c9efa09667..09abd21103 100644
--- a/tests/migrations/test_commands.py
+++ b/tests/migrations/test_commands.py
@@ -9,7 +9,9 @@ import sys
from django.apps import apps
from django.core.management import CommandError, call_command
-from django.db import DatabaseError, connection, connections, models
+from django.db import (
+ ConnectionHandler, DatabaseError, connection, connections, models,
+)
from django.db.migrations.exceptions import InconsistentMigrationHistory
from django.db.migrations.recorder import MigrationRecorder
from django.test import ignore_warnings, mock, override_settings
@@ -580,6 +582,19 @@ class MakeMigrationsTests(MigrationTestBase):
call_command('makemigrations', 'migrations', '--empty', '-n', 'a', '-v', '0')
self.assertTrue(os.path.exists(os.path.join(migration_dir, '0002_a.py')))
+ def test_makemigrations_empty_connections(self):
+ empty_connections = ConnectionHandler({'default': {}})
+ with mock.patch('django.core.management.commands.makemigrations.connections', new=empty_connections):
+ # with no apps
+ out = six.StringIO()
+ call_command('makemigrations', stdout=out)
+ self.assertIn('No changes detected', out.getvalue())
+ # with an app
+ with self.temporary_migration_module() as migration_dir:
+ call_command('makemigrations', 'migrations', verbosity=0)
+ init_file = os.path.join(migration_dir, '__init__.py')
+ self.assertTrue(os.path.exists(init_file))
+
def test_failing_migration(self):
# If a migration fails to serialize, it shouldn't generate an empty file. #21280
apps.register_model('migrations', UnserializableModel)