Recientemente comencé a usar South para migraciones en mi proyecto Django. Todo iba bien hasta hace poco cuando me encontré con un problema peculiar.¿Qué orden de migración sigue South en diferentes aplicaciones?
Tengo dos aplicaciones en mi proyecto, por ejemplo, App-A y App-B. Un modelo en App-A tiene una clave externa para un modelo en App-B. Cuando he estado tratando de construir mi sistema, ejecuté syndb
que creó todas las tablas auth_
y south_
. Luego ejecuté migrate
que arrojó errores. Cuando intentó crear el modelo de la aplicación A, que hacía referencia a un modelo de la aplicación B, el modelo de la aplicación B no se migró/creó aún y, por lo tanto, el error.
Para resolver esto, tuve que migrar manualmente la aplicación B primero y luego la aplicación A. ¿Estoy haciendo algo mal aquí? ¿Cómo se supone que South debe conocer el orden de migración en todas las aplicaciones?
Gracias.
Justo arriba-votó esto porque esto es realmente muy importante. '' depends_on' y needed_by' parece controlar solamente las migraciones actuales. Si eres Comenzando con las migraciones, como mi caso, South intentará cargar los datos iniciales de una aplicación una vez que se complete la migración. Me encontré con problemas de da no estaba disponible antes que otro que lo necesitaba y se encontró con problemas de clave externa. Pude resolver esto reordenando las aplicaciones en 'INSTALLED_APPS'.South ejecuta la aplicación en el orden en que están en 'INSTALLED_APPS' haciendo una pausa para ejecutar las dependencias de migración que haya. – jaywhy13