Does not sufficiently check if the media/ninecms folder exists, which rarely happens in a clean migrate. This results in the following traceback:
(myvirtualenv) wtower@dev ~/w/p/myproject (master)> ./manage.py migrate
Operations to perform:
Apply all migrations: contenttypes, auth, guardian, sessions, admin, ninecms
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying guardian.0001_initial... OK
Applying ninecms.0001_squashed_0024_auto_20150416_1551... OK
Applying ninecms.0002_auto_20150519_1102... OK
Applying ninecms.0003_auto_20150623_1731... OK
Applying ninecms.0004_auto_20150624_1131... OK
Applying ninecms.0005_auto_20150624_1841... OK
Applying ninecms.0006_auto_20150701_1401... OK
Applying ninecms.0007_auto_20150727_1833... OK
Applying ninecms.0008_auto_20150819_1516... OK
Applying ninecms.0009_auto_20150924_1456...Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File ".../lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File ".../lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File ".../lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File ".../lib/python3.5/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File ".../lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 200, in handle
executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
File ".../lib/python3.5/site-packages/django/db/migrations/executor.py", line 92, in migrate
self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial)
File ".../lib/python3.5/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File ".../lib/python3.5/site-packages/django/db/migrations/executor.py", line 198, in apply_migration
state = migration.apply(state, schema_editor)
File ".../lib/python3.5/site-packages/django/db/migrations/migration.py", line 123, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File ".../lib/python3.5/site-packages/django/db/migrations/operations/special.py", line 183, in database_forwards
self.code(from_state.apps, schema_editor)
File ".../lib/python3.5/site-packages/ninecms/migrations/0009_auto_20150924_1456.py", line 30, in migrate_path_file_name
for folder in os.listdir(basedir):
FileNotFoundError: [Errno 2] No such file or directory: '.../media/ninecms'
Workaround: Manually create the directory before running migrations.
The custom migration 0009 in line 30:
https://github.com/Wtower/django-ninecms/blob/devel/ninecms/migrations/0009_auto_20150924_1456.py#L30
Does not sufficiently check if the
media/ninecms
folder exists, which rarely happens in a clean migrate. This results in the following traceback:Workaround: Manually create the directory before running migrations.