RE: Actualizar version de aplicacion.

From: "David Prieto" <davidp(at)sgth(dot)es>
To: 'Nicolás Domínguez Florit' <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>, 'Oswaldo Hernández' <listas(at)soft-com(dot)es>, "'Alvaro Herrera'" <alvherre(at)surnet(dot)cl>
Cc: "'foro de postgresql'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Actualizar version de aplicacion.
Date: 2005-07-06 11:01:48
Message-ID: 006501c5821a$1adfc3c0$1701a8c0@pcdavid
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Hombre, creo que se podría implementar una solución mixta:

Usar la técnica de los scripts incrementales, que vayan actualizando la
estructura de la base de datos con cada nueva versión, y también usar
algún tipo de herramienta (o script) que compare la base de datos con
otra "modelo", y simplemente avise si encuentra diferencias.

Supongo que comparar dos esquemas no será difícil, pero una vez
detectadas las diferencias, sí que puede ser complicado hacer
automáticamente los cambios necesarios para que los dos esquemas
coincidan.

De esta manera, el trabajo de actualizar el esquema de la base de datos
sería de los scripts incrementales. Confiamos en que esos scripts
funcionen correctamente, pero para comprobarlo, se puede comparar el
esquema resultante con el "esquema modelo" que buscamos y avisar en caso
de que no coincidan.

Un saludo,
David Prieto

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Nicolás
Domínguez Florit
Enviado el: miércoles, 06 de julio de 2005 12:40
Para: Oswaldo Hernández; Alvaro Herrera
CC: 'foro de postgresql'
Asunto: Re: [pgsql-es-ayuda] Actualizar version de aplicacion.

Lo estuve investigando un poco mas... no es tan sencillo como parece, ya
que
comparar dos esquemas no tiene mucha dificultad... pero el problema
principal son los datos, indices, trigers, etc, etc etc... De echo creo
que
hay empresas enteras desarrollando este tipo de herramientas.

Hasta ahora lo que mas me gusta es lo del script incremental. con un
versionado propio de la base y otro propio de la amplicacion.

Pero a esta solucion se presenta la problematica de que siempre se
cometen
errores y olivos. Ya que entramos a jugar con base de desarrollo,
produccion, testeo... y no me pregunten porque.... pero siempre algo
pasa,
algo se olvida o algo falla. Por eso era la idea de buscar algo mas
generico.

saludos.

Nicolas.

----- Original Message -----
From: "Oswaldo Hernández" <listas(at)soft-com(dot)es>
To: "Alvaro Herrera" <alvherre(at)surnet(dot)cl>
Cc: "'foro de postgresql'" <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, July 06, 2005 5:58 AM
Subject: Re: [pgsql-es-ayuda] Actualizar version de aplicacion.

> Alvaro Herrera escribió:
>> On Tue, Jul 05, 2005 at 10:58:00AM +0200, Oswaldo Hernández wrote:
>>
>> Hola,
>>
>>
>>>Este sistema nos ha funcionado muy bien, pero claro, hasta ahora solo
>>>usábamos tablas, indices y consultas. Con postgres se complica
bastante
>>>mas puesto que hay que considerar muchas mas clases de objetos y las
>>>dependencias entre ellos: funciones, triggers, secuencias, lenguajes,
fk,
>>>rules, etc ...
>>>
>>>Dado el buen resultado que nos ha dado el sistema, creo que la
>>>solución
>>>ideal seria un script que realizara la comparación de dos schemas y
>>>generara la secuencia de comandos necesarios para la actualización.
>>
>>
>> Estoy completamente de acuerdo en que una herramienta de esta
>> naturaleza seria lo mas apropiado para esta tarea. Lo malo es que
>> tambien estoy de acuerdo en que es bastante complicado. De hecho he
>> escuchado este tema un par de veces en las listas en ingles y siempre

>> el resultado es "oh, este problema es muy dificil". Y no hay
>> solucion. (Salvo un programa que se llama pg_diff, que quedo algo
>> inconcluso hace mucho tiempo, y que ahora esta abandonado).
>>
>> Una idea alternativa es ir generando archivos .sql con los comandos
>> ALTER (o lo que corresponda) manualmente, a medida que se ejecutan en

>> la base de desarrollo. Guardando los .sql de cada schema que
>> corresponde a una "version" del sistema en produccion, se puede ir
>> probando que esas modificaciones incrementales generan la siguiente
>> version. Una especie de "diff", pero manual.
>>
>
> De momento lo realizaremos de la forma que dices, pero no descarto
> para
> mas adelante, cuando tenga mas tiempo y mas conocimientos sobre
postgres,
> intentar la creación de una utilidad de este tipo.
>
> Gracias.
>
> --
> *****************************************
> Oswaldo Hernández
> oswaldo(at)soft-com(dot)es
> *****************************************
>
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.9/42 - Release Date:
06/07/2005
>
>

---------------------------(fin del mensaje)---------------------------
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envíe "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Xavier Vidal 2005-07-06 13:13:12 RE: [pgsql-es-ayuda] mayúsculas y minúsculas en postgress
Previous Message Nicolás Domínguez Florit 2005-07-06 10:40:11 Re: Actualizar version de aplicacion.