/ / Dropwizard: uso de migraciones para una aplicación basada en la nube - java, rest, cloud, liquibase, dropwizard

Dropwizard: uso de migraciones para una aplicación basada en la nube: java, rest, cloud, liquibase, dropwizard

Estamos teniendo una aplicación, es decir, estamos exponiendo los servicios web RESTful y estamos apuntando a esta aplicación para ser implementada en la nube. Necesitamos configurar una vez un esquema de base de datos para la aplicación en alguna instancia de base de datos en la nube. Alguien puede decirme si es un buen método para usar migraciones con liquibase para la configuración de esquema de base de datos de una sola vez. Usaremos alter scripts en caso de que sea necesaria alguna modificación de DDL en futuras versiones.

Respuestas

0 para la respuesta № 1

Alguien me detiene si me equivoco, pero el hecho de quela aplicación se ejecutará en la nube solo significa que estará en un servidor virtual alojado por una empresa externa, que en el caso de su pregunta no tiene ninguna posibilidad.

Entonces la pregunta es "es el sistema de versiones de base de datos Liquibase en una base de datos con un shema estable orientado que vale la pena"

En absoluto podría considerarse una exageración, ymuchas de las grandes empresas aún administran la evolución del esquema de base de datos con scripts de SQL simples. Simplemente puede exportar el script final construido de su base de datos de desarrollo e ir con él.

Pero como sabe Liquibase, la sobrecarga es bastante barata, y la comodidad de usar si tiene que modificar el shema de la gira más adelante es importante.

Así que sí, creo que es una práctica bastante buena (más seguraen lugar de aplicar el script bajo la tensión de un problema del servidor de producción) que cuesta una o dos horas (dado que sabe cómo usar la herramienta) y puede ahorrar docenas cuando tenga que manejar el hotfix de una base de datos de producción.


0 para la respuesta № 2

Supongo que va a implementar estoAplicación en más de un lugar, no solo la producción en la nube, sino también los servidores de desarrollo, los servidores de prueba, la puesta en escena, etc. Si eso es cierto, entonces me parece que definitivamente desea tener un proceso en torno a cómo realizar cambios en El esquema de la base de datos.

Para mí, en el transcurso de mis más de 20 años endesarrollo de software, he visto varias cosas que uso ahora que no eran de uso común cuando empecé, pero que ahora se han convertido en prácticas de "línea de base" en cualquier proyecto en el que trabajo. Sí, solía trabajar sin control de código fuente, pero eso es una necesidad absoluta ahora. Solía ​​escribir software sin pruebas, pero ya no. Solía ​​trabajar sin integración continua, pero esa es otra práctica que considero imprescindible. La adición más reciente a mi lista de elementos imprescindibles es algún tipo de proceso automatizado de migración de base de datos.

Además, dado que Liquibase está integrado en Dropwizard, no veo ninguna razón no para usarlo