deploy.sh: stop app kontejnerů PŘED flyway (ne až před buildem)
All checks were successful
CI and deploy / migration-check (push) Successful in 19s
CI and deploy / deploy (push) Successful in 44s

Run 368/369: flyway validate 9,5 min nedostal spojení k db (EOF) — server
zadušený běžícím stackem + buildem. Stop backend/frontend/postgrest hned po
compose config; db zůstává pro flyway. Workflow self-install už funguje
(ověřeno v logu 369: nový skript se použil).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dusan Vojacek
2026-06-11 23:08:34 +02:00
parent 620cea8b9b
commit 21b3d12955

View File

@@ -63,6 +63,13 @@ docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" config >/dev/null
# Flyway: nejdřív validate (soubory vs flyway_schema_history na DB), pak migrate.
# Čisté `up -d` často znovu nespustí jednorázový kontejner flyway — změny jen v R__/*.sql přes migrate.
# Při chybě je v logu celý Flyway výstup (konkrétní SQL / řádek).
# Slabý server: backend (pandas/solver) + frontend dusí box natolik, že flyway
# nedostane spojení k DB (run 369: 9,5 min timeout → EOF). App kontejnery stopnout
# PŘED flyway; db zůstává. Výpadek backendu během deploye = navržená degradace
# (Loxone autonomní fallback).
log "docker compose stop backend frontend postgrest (uvolnit zdroje pro flyway+build)"
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" stop backend frontend postgrest || true
log "Flyway validate"
# *:pending — nové/změněné repeatables aplikuje hned následující migrate;
# bez ignore patternu flyway 12 validate selže dřív, než se k migrate dostane.
@@ -71,12 +78,6 @@ docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway validate
log "Flyway migrate (docker compose run --rm flyway)"
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway migrate
# Slabý server: build s běžícím stackem se dusí (CPU/RAM). App kontejnery před
# buildem zastavit (db NE — flyway už doběhl, ale telemetrie/MCP/IDE na DB visí).
# Výpadek backendu během buildu = navržená degradace (Loxone autonomní fallback).
log "docker compose stop backend frontend postgrest (uvolnit zdroje pro build)"
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" stop backend frontend postgrest || true
log "docker compose build"
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" build