quiero usar al sur en mi proyecto Django como herramienta de migración, pero no tengo problema con el uso del Sur en el escenario multiusuario:django y migración sur con conflictos (0007_two ... y 0007_one) ¿cómo resolverlo?
Dos desarrolladores que trabajan simultáneamente en diferentes máquinas crean dos migraciones con mismo número
en primer PC:
0007_extend_lizard.py
en la segunda PC:
0007_swap_name_adopter.py
En este caso puedo ejecutar ./manage migrate --merge
o ./manage migrate 0006
(reversión) y ejecutar nuevamente./manage migrate
. PERO cuando quiero agregar un campo nuevo en models.py
y ejecutar ./manage startmigration southdemo --auto
, sur obtiene models = {}
metadatos de la última migración y le falta información de la primera migración. El resultado de esto es la migración de la creación 0008 con la creación de cambios (de nuevo) de la primera 0007.
¿Cuál es la mejor manera de resolver este problema?
Actualmente estoy pensando en dos opciones:
fusionar manualmente tanto la migración 0007 en un archivo y luego migran (pero alguien debe ejecutar "rollback")
mover manualmente falta
models = {}
meta a la última migración 0007 y luego la siguiente--auto
en 0008 funcionará perfectamente.
¿Cuál es la mejor opción? ¿O hay algo más que me estoy perdiendo?