tutorial liquibase flyway

tutorial - Liquibase vs Flyway cuál usar?



flyway tutorial (2)

Usé Liquibase. Para aplicaciones de nivel empresarial (donde colaboras diferentes equipos), Liquibase es muy adecuado para ti. Me gusta la característica de deshacer.

Para aplicaciones pequeñas, Flyway será bueno debido a su simplicidad.

Necesito usar una herramienta / marco de migración de base de datos para mis aplicaciones basadas en Spring Boot / Node.js. Después de explorar las características de Liquibase y Flyway, estoy un poco confundido sobre cuál usar. Mientras que el soporte de reversión, el conjunto de cambios neutral de base de datos, etc. me atraen hacia Liquibase, por otro lado la simplicidad (basada en SQL), el mejor procedimiento y el soporte de PL / SQL me están llevando hacia Flyway.

Se necesitan puntos de datos más concretos aquí antes de decidirse por esto.


Ya utilicé ambas herramientas y, a la vista, estas son las principales diferencias.

Vía migratoria

  1. Fácil de configurar: solo necesita una ubicación de carpeta y mantener una sintaxis de nombre V1__file.sql, ...
  2. Basado en SQL, pero necesita escribir la sintaxis correcta de su motor de base de datos específico (Mysql, DB2, ...)
  3. Está basado en Java, por lo que agregar configuración personalizada para limpiar, ejecutar etc. es más fácil.

Liquibase

  1. Necesita un archivo principal "changelog" para realizar un seguimiento de todos los conjuntos de cambios ejecutados.
  2. Está basado en XML, por lo que debe usar etiquetas liquibase específicas para crear código SQL. Esto es perfecto para migrar su código a un motor de base de datos diferente: no necesitará cambiar nada, y solo el controlador de la base de datos dirá a liquibase cómo traducir las etiquetas XML a la sintaxis SQL correcta.
  3. Si usa la etiqueta sql de liquibase, no aprovechará el punto 2, por lo que sería mejor usar Flyway en su lugar.
  4. Liquibase proporciona un jar para migrar un DB existente a todos los archivos XML necesarios de forma automática, por lo que no es necesario que trabaje manualmente en ellos. Bastante útil.

Ahora depende de usted decidir qué necesita para su proyecto, ya sea que necesite migrar a un motor DB diferente en el futuro, etc.