[pyar] Django, South y Git

3 views
Skip to first unread message

matias benedetto

unread,
Mar 13, 2012, 10:45:38 AM3/13/12
to Python Argentina
Hola,
Les cuento que estoy empezando y aprendiendo a usar GIT desarrollando un proyecto en Django.
La duda que me surge es que hacer con la carpeta "migrations" que usa South, ya que creo que si agrego esa carpeta al repositorio y despues meto ese código en el servidor va a haber problemas. Porque sería usar las migraciones de la copia local de la bd en la bd del servidor.

La verdad no se me ocurre como manejarlo. Lei algunas preguntas en stackoverflow sobre eso. Pero me parece que nadie tiene demasiado claro que hacer con eso.

Que experiencia tienen usando South y control de versiones ? como lo manejan?


Saludos!
matias.



- - -
http://matiasbenedetto.com.ar
http://flickr.com/descartable

Marcos Moyano

unread,
Mar 13, 2012, 10:50:30 AM3/13/12
to Python Argentina
si modificás algo localmente, seguramente vas a querer que ese cambio se reproduzca en producción. No?

Si te sirve de algo yo siempre versiono las migraciones y las uso en producción.

Salu2
Marcos :-)

2012/3/13 matias benedetto <matias.b...@gmail.com>
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar



--
Marcos Moyano
Co-Founder of Anue
Skype: marcosmoyano
http://www.anue.biz/

Angel Velásquez

unread,
Mar 13, 2012, 10:53:10 AM3/13/12
to Python Argentina
Il 13 marzo 2012 11:45, matias benedetto <matias.b...@gmail.com>
ha scritto:

> Hola,
> Les cuento que estoy empezando y aprendiendo a usar GIT desarrollando un
> proyecto en Django.
> La duda que me surge es que hacer con la carpeta "migrations" que usa South,
> ya que creo que si agrego esa carpeta al repositorio y despues meto ese
> código en el servidor va a haber problemas. Porque sería usar las
> migraciones de la copia local de la bd en la bd del servidor.

No a menos que no corras ./manage.py migrate en producción..

>
> La verdad no se me ocurre como manejarlo. Lei algunas preguntas en
> stackoverflow sobre eso. Pero me parece que nadie tiene demasiado claro que
> hacer con eso.
>
> Que experiencia tienen usando South y control de versiones ? como lo
> manejan?
>

Acá creo que no entiendo muy bien tu pregunta.?

> _______________________________________________
> pyar mailing list py...@python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar

--
Respuesta: Porque no se entiende bien el contexto
Pregunta: ¿Por qué el top-posting es malo?

Angel Velásquez
Linux Counter: #359909
www.angvp.com

César H. Roldán

unread,
Mar 13, 2012, 10:59:42 AM3/13/12
to Python Argentina
El 13 de marzo de 2012 11:45, matias benedetto <matias.b...@gmail.com> escribió:
Hola,
Les cuento que estoy empezando y aprendiendo a usar GIT desarrollando un proyecto en Django.
La duda que me surge es que hacer con la carpeta "migrations" que usa South, ya que creo que si agrego esa carpeta al repositorio y despues meto ese código en el servidor va a haber problemas. Porque sería usar las migraciones de la copia local de la bd en la bd del servidor.

Esa carpeta migrations tiene los cambios del modelo de datos que se debe aplicar.
Si no lo tenés versionado, no vas a poder aplicar esos cambios en producción. (salvo que lo hagas a mano)

Una vez que subas esos archivos a producción, junto con el nuevo código de tu app, corres el migrate simplemente y te actualiza todo sin preocuparte.

Lo único a tener en cuenta es no generar migraciones a lo bestia para "pruebas" porque ensucia mucho la carpeta con cosas inútiles. Igual, siempre podés volver versiones, eliminarlas, etc.

En producción, es útil revisar antes de aplicar:

Y si tenés problemas:

 
La verdad no se me ocurre como manejarlo. Lei algunas preguntas en stackoverflow sobre eso. Pero me parece que nadie tiene demasiado claro que hacer con eso.

Personalmente, tengo las carpetas migrations versionadas, eso ayuda en un equipo de desarrollo por ejemplo, cuando uno agrega campos a un modelo, el resto de los desarrolladores corren las migraciones y tienen la BBDD actualziada para hacer los tests.
Igual, es mucho mas simple hacer un deploy en producción.
 
Que experiencia tienen usando South y control de versiones ? como lo manejan?


Saludos!
matias.

Saludos !

Cesar
 

Ramiro Morales

unread,
Mar 13, 2012, 11:16:44 AM3/13/12
to Python Argentina
2012/3/13 matias benedetto <matias.b...@gmail.com>:

> Hola,
> Les cuento que estoy empezando y aprendiendo a usar GIT desarrollando un
> proyecto en Django.
> La duda que me surge es que hacer con la carpeta "migrations" que usa South,
> ya que creo que si agrego esa carpeta al repositorio y despues meto ese
> código en el servidor va a haber problemas. Porque sería usar las
> migraciones de la copia local de la bd en la bd del servidor.

No, cada uno de los módulos que se crean en migrations/ son las recetas
de c/u de los pasos que debe seguir South en cada una de las evoluciones
de la BD de tu proyecto.

Pero el estado de la aplicación de esas recetas (o sea en qué punto
especifico de esa historia evolutiva la la BD) se almacena en forma
independiente en cada motor de base de datos, en una tabla propia *.

De manera que si vos tenes motores de DB independientes entre los de los
desarrolladores, testing, staging, y el de producción no debería haber
interferencia alguna si con su sistema de control de versiones pasas al
servidor ese dir migrations/

* Que si mal no recuerdo incluso está representada por un modelo
Django (cuan meta)

--
Ramiro Morales

matias benedetto

unread,
Mar 13, 2012, 3:16:44 PM3/13/12
to Python Argentina
El 13 de marzo de 2012 12:16, Ramiro Morales <cra...@gmail.com> escribió:


> No, cada uno de los módulos que se crean en migrations/ son las recetas
> de c/u de los pasos que debe seguir South en cada una de las evoluciones
> de la BD de tu proyecto.

> Pero el estado de la aplicación de esas recetas (o sea en qué punto
> especifico de esa historia evolutiva la la BD) se almacena en forma
> independiente en cada motor de base de datos, en una tabla propia *.



 
 Clarisimo! me viene de 10 esta explicación.

Gracias a todos por las respuestas! me son de gran ayuda.

Saludos!
matias.


Felipe Lerena

unread,
Mar 13, 2012, 3:19:08 PM3/13/12
to py...@python.org.ar
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
No entiendo el problema.
Haces la migration, la pusheas, alguien se la baja, la aplica...
Que me perdi?

Lipe

matias benedetto

unread,
Mar 13, 2012, 3:41:47 PM3/13/12
to Python Argentina
> No entiendo el problema.
> Haces la migration, la pusheas, alguien se la baja, la aplica...
> Que me perdi?


Es que me resultaba confuso porque no sabía que el estado de aplicación de las migraciones de south se gurdaran en la bd, y no en la carpeta migrations. Entonces creía que cuado subiera los cambios en producción de iba a hacer un embrollo en la bd porque estaba en distinto estado que la copia local de la bd.



Saludos!
matias.
Reply all
Reply to author
Forward
0 new messages