2011-08-24 6 views
7

Ho appena iniziato a utilizzare South e sono ancora in procinto di capirlo. Diciamo che ho lo script di migrazione iniziale di un modello. Poi vado ad aggiungere una colonna al modello e creare uno script di migrazione per questo. Quindi aggiungo un'altra colonna a un altro modello e creo un altro script di migrazione per esso. Sto creando lo script di migrazione eseguendo ./manage.py schemamigration myappname --auto.Esecuzione di migrazioni verso Sud per tutte le app

Diciamo che ho un server su cui è distribuito il mio progetto ma era basato sullo schema iniziale dell'applicazione ma ora è indietro rispetto al repository di due migrazioni. Posso aggiornarlo eseguendo ./manage.py migrate myappname. Ciò porterebbe ad aggiornare i modelli di questa app eseguendo le nuove migrazioni se sono corrette ma dovrei specificare esplicitamente l'app.

Sud consente di eseguire tutte le migrazioni in sospeso per tutte le app in un progetto Django? Se é cosi, come? Non ho trovato nulla nei documenti su questo.

Grazie a tutti.

+0

Leopardo ha ragione. Controlla il riferimento ai comandi nei documenti: http://south.aeracode.org/docs/commands.html – heavilyinvolved

risposta

18

Per portare tutte le applicazioni aggiornati su tutte le loro migrazioni, eseguire:

./manage.py migrate 

semplice. :)

+0

Ricordo di dover aggiungere il parametro --all, ma potrebbe essere sbagliato. –

1

Si può anche provare:

./manage.py syncdb --migrate 

al migrare tutte le applicazioni che utilizzano sud e sincronizzazione le applicazioni che non lo fanno.