feat(db): migrate to Flyway for schema persistence
CI / Build Native (push) Successful in 8m10s

'create-drop' borra las tablas en cada shutdown, perdiendo todos
los usuarios (y el cambio de password). Aunque el bind mount
persiste el archivo H2 en /root/docker/manual/lineage2/data/, las
tablas se recreaban vacias en cada restart del container.

Solucion: Flyway para manejar el schema, Hibernate solo valida.

- pom.xml: + quarkus-flyway
- src/main/resources/db/migration/V1__init.sql: schema de users,
  user_state, production_runs + index idx_runs_user_created
- application.properties: database.generation=create-drop -> validate
  + quarkus.flyway.migrate-at-start=true + baseline-on-migrate=true

BootstrapAdmin queda igual: chequea User.count() y crea admin si 0.
Flyway corre antes de Hibernate, asi que las tablas existen cuando
StartupEvent dispara.
This commit is contained in:
2026-08-15 11:40:16 -04:00
parent 2ceb7ca7ea
commit 615b78a847
3 changed files with 41 additions and 1 deletions
+4
View File
@@ -60,6 +60,10 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jdbc-h2</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-flyway</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-jwt</artifactId>