fix(db): tune H2 URL to actually flush writes to disk on commit
CI / Build Native (push) Successful in 6m50s

Sin estos parametros, H2 mantiene buffers en memoria y los cambios
hechos por change-password (u otras mutaciones) no llegaban al
archivo .mv.db hasta un checkpoint que el SIGKILL del container
se saltaba. Resultado: User aparece persistido en memoria (login
con la nueva pass da 200 OK dentro de la misma corrida), pero al
restart el archivo en disco tiene la password vieja.

WRITE_DELAY=0  -- flush cada commit
LOCK_MODE=0   -- no usar lock file (quitamos el .lock.db)
MV_STORE=TRUE -- usar el multi-version store que es mas cooperativo
                 con escrituras frecuentes

Verificado: el archivo .mv.db crece de 94KB a 106KB tras un
change-password, y la nueva password sobrevive un docker rm + run.
This commit is contained in:
2026-08-15 13:54:26 -04:00
parent 0ef2991bcd
commit 71d8050515
+1 -1
View File
@@ -5,7 +5,7 @@ quarkus.application.name=shot-crafter-calculator
# H2 file-based
quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=jdbc:h2:file:./data/shots;DB_CLOSE_DELAY=-1
quarkus.datasource.jdbc.url=jdbc:h2:file:./data/shots;DB_CLOSE_DELAY=-1;WRITE_DELAY=0;LOCK_MODE=0;MV_STORE=TRUE
quarkus.datasource.username=sa
quarkus.datasource.password=
quarkus.hibernate-orm.database.generation=validate