Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Cambios en entidades de persistencia usando flyway como versionado de BD

Buenas, consulta, en el caso del versionado de Base de datos al usar JPA, se crean las tablas automáticamente y se modifican al hacer cambios en las entidades de persistencia.

  • Debería copiar el script desde mySQL de la base de datos, una vez realizada todas las entidades? para la primer versión de la Base de datos?
  • En el caso de hacer cambios considerables en las entidades y relaciones que modifiquen sus tablas, debería hacer esos cambios a mano en un script para versionar la base de datos?

Espero se entienda la pregunta. Gracias.

1 respuesta

Hola Abel, espero que estés bien

Espero que estés bien. Entiendo tus dudas sobre cómo manejar los cambios en las entidades de persistencia cuando usas Flyway para el versionado de la base de datos. Vamos a desglosar tus preguntas:

  1. Primera versión de la base de datos: Sí, es una buena práctica crear un script SQL que represente la estructura inicial de tu base de datos. Puedes hacerlo exportando el esquema desde MySQL una vez que hayas definido todas tus entidades. Este script se convertirá en tu archivo de migración inicial (por ejemplo, V1__initial_setup.sql) y lo colocarás en la carpeta db/migration para que Flyway lo ejecute al iniciar el proyecto.

  2. Cambios en las entidades y relaciones: Cuando realices cambios significativos en tus entidades que afecten la estructura de las tablas, deberás crear un nuevo script de migración manualmente. Este script debe reflejar los cambios necesarios, como alteraciones de tablas, adiciones de columnas, etc. Luego, lo nombras de acuerdo con la convención de Flyway (por ejemplo, V2__add_new_column.sql) y lo colocas en la carpeta de migraciones. Flyway se encargará de ejecutar este script y actualizar la base de datos.

Recuerda que Flyway es una herramienta muy útil para mantener un historial de cambios en la estructura de tu base de datos, similar a cómo Git lo hace con el código. Esto te permite tener un control de versiones claro y consistente.

Espero que esta explicación te ayude a aclarar tus dudas. ¡Bons estudios!