Re: Manejar versiones en base de datos

From: Anthony Rafael Sotolongo León <asotolongo(at)uci(dot)cu>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Fernando Siguenza <fsigu(at)hotmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Manejar versiones en base de datos
Date: 2014-04-09 14:04:07
Message-ID: 53455357.1020301@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Fernando, concuerdo con Alvaro en:
''disciplina férrea a los desarrolladores que haga que escriban scripts
con ALTER que conviertan una versión a la versión siguiente cada vez que
hagan cambios al modelo de datos ''
Es lo más racional para realizar, pero eso seguro lo propondrás para el
futuro, pues ya tienes que resolver el tema por tus medios, una vez
utilice la herramienta que te menciona Gustavo es bien sencilla y
funciona +- así:

Una vez que tienes las 2 salvas (antigua.sql y nueva.sql), ejecutas:
java -jar apgdiff-2.4.jar antigua.sql nueva.sql > upgrade.sql

en upgrade.sql salen los cambios que debes ejecutar en produccion.

saludos

El 09/04/14 09:11, Alvaro Herrera escribió:
> Fernando Siguenza escribió:
>> Amigos como esta, queria ver si me pueden ayudar, estoy desarrollando un sistema en c# con postgres, hasta ahora esta funcionando super bien, pero tengo un inconveniente que no se como manejar.
>> El tema es las versiones de la base de datos, me explico tengo una tabla articulos con los campos codigo, nombre y precio por ejemplo.
>> Ahora luego de unas semanas o meses, esta tabla ya ha cambiado, ahora tiene dos nuevos campos costo, fecha_ultima_compra por decir algo.
>> Entonces lo que quiero es saber como se podria hacer para copiar todos los registros de la tabla articulo antigua a la nueva, y con eso evito el tener que estar revisando de tabla en tabla que campos han cambiado, que procedimientos igual han cambiado etc etc para poder actualizar la version de la tabla vieja a la nueva.
>> No se si alguien trabajo en fox ahi hay el comando append, el cual hacia esto con un solo comando.
>> Espero me puedan dar algunas guias o ideas de como poder hacer lo que les comento.
> Lo que necesitas es un sistema development/staging/production, y una
> imposición de disciplina férrea a los desarrolladores que haga que
> escriban scripts con ALTER que conviertan una versión a la versión
> siguiente cada vez que hagan cambios al modelo de datos. Cada día, se
> toma una copia pg_dump de "producción" y se restaura en staging, luego
> se aplican los scripts que hagan falta; una vez que en staging un cambio
> de modelo está aprobado, aplicas el script correspondiente al servidor
> de producción (lo cual en efecto avanza la versión).
>

________________________________________________________________________________________________
I Conferencia Científica Internacional UCIENCIA 2014 en la UCI del 24 al 26 de abril de 2014, La Habana, Cuba. Ver http://uciencia.uci.cu

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Siguenza 2014-04-09 14:19:04 RE: Manejar versiones en base de datos
Previous Message Alvaro Herrera 2014-04-09 13:11:45 Re: Manejar versiones en base de datos