mirror of
https://github.com/django/django.git
synced 2025-08-18 01:30:42 +00:00
[1.7.x] Fixed #22682 -- makemigrations
will create MIGRATION_MODULES
package
`makemigrations` will automatically create the package specified in `MIGRATION_MODULES` if it doesn't already exist. Thanks ovidiuc4 for the report.
This commit is contained in:
parent
4956e182ac
commit
e4eae5df0e
3 changed files with 51 additions and 1 deletions
|
@ -413,3 +413,38 @@ class MakeMigrationsTests(MigrationTestBase):
|
|||
self.assertIn("migrations.AddField(", stdout.getvalue())
|
||||
self.assertIn("model_name='sillymodel',", stdout.getvalue())
|
||||
self.assertIn("name='silly_char',", stdout.getvalue())
|
||||
|
||||
@override_system_checks([])
|
||||
@override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations_path_doesnt_exist.foo.bar"})
|
||||
def test_makemigrations_migrations_modules_path_not_exist(self):
|
||||
"""
|
||||
Ticket #22682 -- Makemigrations fails when specifying custom location
|
||||
for migration files (using MIGRATION_MODULES) if the custom path
|
||||
doesn't already exist.
|
||||
"""
|
||||
|
||||
class SillyModel(models.Model):
|
||||
silly_field = models.BooleanField(default=False)
|
||||
|
||||
class Meta:
|
||||
app_label = "migrations"
|
||||
|
||||
stdout = six.StringIO()
|
||||
call_command("makemigrations", "migrations", stdout=stdout)
|
||||
|
||||
# Command output indicates the migration is created.
|
||||
self.assertIn(" - Create model SillyModel", stdout.getvalue())
|
||||
|
||||
# Migrations file is actually created in the expected path.
|
||||
self.assertTrue(os.path.isfile(os.path.join(self.test_dir,
|
||||
"test_migrations_path_doesnt_exist", "foo", "bar",
|
||||
"0001_initial.py")))
|
||||
|
||||
os.chdir(self.test_dir)
|
||||
try:
|
||||
self._rmrf(os.path.join(self.test_dir,
|
||||
"test_migrations_path_doesnt_exist"))
|
||||
pass
|
||||
except OSError:
|
||||
pass
|
||||
os.chdir(self._cwd)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue