Make Immich restore database creation idempotent

This commit is contained in:
2026-05-27 18:16:25 +02:00
parent 2e84700326
commit 4feecf4a8e
+5 -4
View File
@@ -93,11 +93,12 @@ until docker exec restoretest-immich-postgres pg_isready -U immich -d immich >/d
sleep 2
done
# Einige Postgres-Images melden bereits "ready", bevor die per ENV
# gewuenschte Datenbank sichtbar ist. Der Smoke-Test legt die isolierte
# Test-DB deshalb defensiv an, falls sie noch fehlt.
# Einige Postgres-Images melden bereits "ready", waehrend die per ENV
# gewuenschte Datenbank noch im Entrypoint entsteht. Der Smoke-Test legt
# die isolierte Test-DB deshalb defensiv an und akzeptiert nur das Rennen,
# in dem die DB parallel bereits erzeugt wurde.
docker exec restoretest-immich-postgres sh -lc \
'psql -U immich -d postgres -tAc "select 1 from pg_database where datname = '\''immich'\''" | grep -q 1 || createdb -U immich immich'
'createdb -U immich immich 2>/tmp/immich-createdb.err || grep -q "already exists" /tmp/immich-createdb.err'
# Stufe 2: Dump in Test-Postgres importieren
# Hinweis: pg_restore mit --clean --if-exists, damit die Operation idempotent ist.