2015-09-11 8 views
24

In django 1.8 esiste un modo per eseguire una migrazione specifica e solo quella migrazione.Django 1.8 Esegui una migrazione specifica

Non per una sola app, ma un file specifico nella directory delle migrazioni dell'app.

MODIFICA PER ORIGINALE:

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') 

Ha fatto un po 'di ricerca e trova l'https://code.djangoproject.com/ticket/24225#no1

risposta

51

Si può dire Django per passare a una migrazione specifica

./manage.py migrate myapp 0005_migration_to_run 

Ma Django verrà eseguito ogni migrazione fino a (o ritorno) alla migrazione che hai scelto.

Si potrebbe provare faking alla migrazione prima

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

Si potrebbe quindi voler falso per la migrazione hai iniziato a.

+0

Grazie per la risposta. Quando provo a eseguire ciò ottengo un errore. KeyError: ('myapp', '0005_migration_to_run') – bgrantdev

+0

Non sono sicuro del motivo per cui otterresti un 'KeyError'. Si prega di postare il traceback completo? – Alasdair

+0

Aggiunto al post originale – bgrantdev