entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Hola,

Estoy manteniendo un sistema en java que usa una base de datos en postgres.
Esta base de datos cambia a menudo, y una vez por semana mas o menos la estamos actualizando. Estos cambios suelen ser de estructura (DDL) en funciones y campos para nuevas funcionalidades.

Para las modificaciones en la DB usamos el navicat de la siguiente manera:
1- Al hacer un cambio en la estructura de la DB copiamos el SQL que nos da el navicat a un archivo XML por cada cambio que hacemos.
2- Cuando tenemos que actualizar la DB en producción chequeamos los archivos que le faltan, identificados por un numero de versión, actualizamos la DB.
3- Esto lo repetimos para cada DB instalada (30 en total)

El problema que estamos teniendo es que como todo el proceso es a mano es muy facil olvidarse de copiar un cambio al XML con lo que luego el script para actualizar la DB no funcionara o lo que es peor cuando el sistema necesita ese cambio fallara.

Por este motivo estamos buscando un modo de automatizar esta tarea y se nos ocurrió lo siguiente:
1- Hacemos los cambios en el navicat
2- Configuramos el postgres para que haga los LOG de los cambios en DDL en un archivo CSV
3- Levantamos el archivo CSV y lo pasamos al XML para hacer las actualizaciones

El problema que estamos teniendo es que los LOG guardan todos los intentos de cambios en la estructura, inclusive los errores con lo que si los tomamos y los pasamos al XML luego el script de actualización nos fallara también.

¿ahí alguna forma de configurar para que se guarden solo los cambios exitosos en el DDL en el LOG de postgres?

¿Existe algún script o aplicación para tomar los cambios en DDL del LOG y armar un script de actualización?

¿Existe una mejor manera de automatizar este proceso?

Saludos y muchas gracias.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta