mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #23302 -- Added --name/-n option to makemigrations command
This commit is contained in:
committed by
Tim Graham
parent
bda2809712
commit
1435cfbe8d
@@ -546,3 +546,34 @@ class MakeMigrationsTests(MigrationTestBase):
|
||||
questioner.input = old_input
|
||||
if os.path.exists(merge_file):
|
||||
os.remove(merge_file)
|
||||
|
||||
@override_system_checks([])
|
||||
def test_makemigrations_with_custom_name(self):
|
||||
"""
|
||||
Makes sure that makemigrations generate a custom migration.
|
||||
"""
|
||||
def cmd(migration_count, migration_name, *args):
|
||||
with override_settings(MIGRATION_MODULES={"migrations": self.migration_pkg}):
|
||||
try:
|
||||
call_command("makemigrations", "migrations", "--verbosity", "0", "--name", migration_name, *args)
|
||||
except CommandError:
|
||||
self.fail("Makemigrations errored in creating empty migration with custom name for a proper app.")
|
||||
migration_file = os.path.join(self.migration_dir, "%s_%s.py" % (migration_count, migration_name))
|
||||
# Check for existing migration file in migration folder
|
||||
self.assertTrue(os.path.exists(migration_file))
|
||||
with codecs.open(migration_file, "r", encoding="utf-8") as fp:
|
||||
content = fp.read()
|
||||
self.assertTrue("# -*- coding: utf-8 -*-" in content)
|
||||
content = content.replace(" ", "")
|
||||
return content
|
||||
|
||||
# generate an initial migration
|
||||
migration_name_0001 = "my_initial_migration"
|
||||
content = cmd("0001", migration_name_0001)
|
||||
self.assertIn("dependencies=[\n]", content)
|
||||
|
||||
# generate an empty migration
|
||||
migration_name_0002 = "my_custom_migration"
|
||||
content = cmd("0002", migration_name_0002, "--empty")
|
||||
self.assertIn("dependencies=[\n('migrations','0001_%s'),\n]" % migration_name_0001, content)
|
||||
self.assertIn("operations=[\n]", content)
|
||||
|
||||
Reference in New Issue
Block a user