¿Se puede usar Liquibase solo para validar que se hayan aplicado los ChangeSets pero no ejecutarlos realmente?

Tengo una restricción para mi sistema de producción de que todos los cambios de SQL deben ser ejecutados manualmente por un DBA por razones de seguridad. En consecuencia, quiero usar Liquibase para generar el SQL y hacer que el DBA lo ejecute.

Sin embargo, al iniciar la aplicación en Producción, me gustaría configurar Liquibase para garantizar que todos los conjuntos de cambios se hayan ejecutado y tengan las firmas adecuadas. Si alguno de los conjuntos de cambios tiene una firma no válida o no se ha ejecutado, me gustaría que Liquibase arroje una excepción (que luego puedo manejar en mi secuencia de inicio). Bajo ninguna circunstancia quisiera que Liquibase actualice la base de datos cuando se ejecute en este entorno.

En otros entornos, me gustaría dejar que Liquibase se ejecute en la configuración predeterminada, es decir, validar que los conjuntos de cambios existentes no se hayan modificado y ejecutar los conjuntos de cambios faltantes.

¿Liquibase admite este tipo de configuración? He revisado la liquibase.configuration.GlobalConfigurationclase, pero no veo ningún parámetro de configuración que proporcione esta configuración.

Respuesta 1

No especifica cómo ejecuta Liquibase desde su aplicación, por lo que es un poco difícil decir exactamente. Creo que querrá usar dos comandos diferentes: uno para producción y otro para todos los demás entornos. En la mayoría de los entornos, usa el updatecomando. En producción, necesitaría usar el statuscomando que devuelve un recuento del número de conjuntos de cambios sin implementar o una lista de conjuntos de cambios sin implementar.

Respuesta: 2

Soy bastante nuevo en Java y me cuesta ver por qué sigo recibiendo un error en la línea de comando. Tengo una superclase, Guest, con variables guestID, fName, lName y dateJoin. También tengo una subclase ...

Realmente me gustaría usar graalVM por sus capacidades AOT para reducir drásticamente el tiempo de arranque de mis aplicaciones. Cuando leí que Quarkus.io y graalVM AOT funcionaban bien con hibernate, realmente tuve el ...

Utilizo maven-gae-plugin para implementar mi aplicación, funciona find hasta que decido implementarlo en otra aplicación-id bajo una cuenta de Google diferente. Me encontré con el problema "Esta aplicación no existe". Encontré allí ...

Quiero pasar la fuente de datos del informe principal a un subinforme. Entonces, simplemente cambio el Tipo de conexión en iReport para Usar una expresión de fuente de datos y paso el parámetro REPORT_DATA_SOURCE. El informe ...