From 4feecf4a8e8a7f78b84b64789d6c3f7657dc33b3 Mon Sep 17 00:00:00 2001 From: Micha Date: Wed, 27 May 2026 18:16:25 +0200 Subject: [PATCH] Make Immich restore database creation idempotent --- ops/restore-tests/immich-restore-test.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ops/restore-tests/immich-restore-test.sh b/ops/restore-tests/immich-restore-test.sh index cfcb3a3..62d9fdf 100755 --- a/ops/restore-tests/immich-restore-test.sh +++ b/ops/restore-tests/immich-restore-test.sh @@ -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.