Intenté ejecutar flyway en mi aplicación antes de que hibernate se enganche en mi JBoss AS 7.1. Intenté con una anotación @javax.ejb.Startup
, pero esto se ejecuta DESPUÉS de que se inicialice Hibernate y se verifique el esquema de la base de datos.CDI Extension for Flyway
Por lo que entiendo, podemos usar una extensión CDI que se engancha antes de que se inicialice Hibernate. ¿Hay algo de apoyo para eso fuera de la caja para la ruta migratoria? Y si no, ¿alguien ha tratado de hacer esto antes?
No creo que haya un evento estándar J2EE lo que sucede lo suficientemente temprano para esto. Debería conectar las interfaces específicas del contenedor. No tengo idea de si alguien hizo eso para Flyway, lo siento. ¿Ha considerado hacerlo como parte de su implementación o secuencia de comandos de inicio en lugar de como inicio de la aplicación? –
@TomAnderson He considerado hacer la acción flyway en mi script de implementación, tengo que usar la herramienta Command Line Flyway Tool para eso. No está claro en la documentación si también admite Java Migrations, así que supongo que tengo que probarlo;) Estoy seguro de que hay una forma de lograr esto en el inicio de la aplicación, porque es posible con Liquibase (ver https://github.com/aaronwalker/liquibase/commit/5be42a6779b2bef95e2d02d8703aceec91aedb59). Intenté algo similar, pero lamentablemente no funciona en mi máquina ... –
@DominikObermaier Sí, Flyway Command Line es compatible con migraciones de Java. Se pueden enviar como archivos jar dentro de la carpeta/jars. –