Django 1.8 Run a specific migration

DjangoMigrationDjango Migrations

Django Problem Overview


In django 1.8 is there a way to run a specific migration and that migration only.

Not for one app only but a specific file in that apps migrations directory.

EDIT TO ORIGINAL:

    Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 146, in handle
    plan = executor.migration_plan(targets)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/db/migrations/executor.py", line 50, in migration_plan
    self.loader.graph.node_map[target].children
KeyError: ('wagtailcore', '0001_initial')

Did a little searching and located this https://code.djangoproject.com/ticket/24225#no1

Django Solutions


Solution 1 - Django

You can tell Django to move to a specific migration

./manage.py migrate myapp 0005_migration_to_run

But Django will run every migration up to (or back to) the migration you've chosen.

You could try faking to the migration before

./manage.py migrate --fake myapp 0004_previous_migration
./manage.py migrate myapp 0005_migration_to_run

You might then want to fake to the migration you started at.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbgrantdevView Question on Stackoverflow
Solution 1 - DjangoAlasdairView Answer on Stackoverflow