voglio usare sud nel mio progetto Django come strumento di migrazione, ma ho problema con l'utilizzo sud multiutente scenario:migrazione django e sud con conflitti (0007_two ... e 0007_one) come risolvere?
Due sviluppatori che lavorano contemporaneamente su macchine diverse creano due migrazioni con lo stesso numero
il primo PC:
0007_extend_lizard.py
sul secondo PC:
0007_swap_name_adopter.py
In questo caso, è possibile eseguire ./manage migrate --merge
o ./manage migrate 0006
(rollback) ed eseguire di nuovo./manage migrate
. MA quando voglio aggiungere un nuovo campo in models.py
ed eseguire ./manage startmigration southdemo --auto
, quindi il sud ottiene i metadati models = {}
dall'ultima migrazione e ha le informazioni mancanti dalla prima migrazione. Il risultato di ciò sta creando la migrazione 0008 con la creazione di nuovi cambiamenti (!!!) dal primo 0007.
Qual è il modo migliore per risolvere questo problema?
Attualmente sto pensando a due opzioni:
Unire manualmente sia 0007 la migrazione in un file e quindi migrare (ma qualcuno deve eseguire "rollback")
spostare manualmente manca
models = {}
meta per durare la migrazione 0007 e poi il prossimo--auto
in 0008 funzionerà perfettamente.
Qual è l'opzione migliore? O c'è qualcos'altro che mi manca?