diff --git a/containers/AACT_Reloader/.gitattributes b/containers/AACT_Reloader/.gitattributes new file mode 100644 index 0000000..a20c5a3 --- /dev/null +++ b/containers/AACT_Reloader/.gitattributes @@ -0,0 +1 @@ +backup/2023-09-06_aactdb_with_matches.sql.gz filter=lfs diff=lfs merge=lfs -text diff --git a/containers/AACT_Reloader/StartRestoreContainer.sh b/containers/AACT_Reloader/StartRestoreContainer.sh index d495fbf..e647c84 100755 --- a/containers/AACT_Reloader/StartRestoreContainer.sh +++ b/containers/AACT_Reloader/StartRestoreContainer.sh @@ -3,21 +3,37 @@ RESTORE_DUMP_GZ=2023-09-06_aactdb_with_matches.sql.gz POSTGRES_USER=root POSTGRES_PASSWORD=root +POSTGRES_DB=aact_db #start container podman run \ -e POSTGRES_PASSWORD="${POSTGRES_PASSWORD}" \ -e POSTGRES_USER="${POSTGRES_USER}" \ - -e POSTGRES_DB=aact_db \ - --name aact_db \ - --detatch \ + -e POSTGRES_DB="${POSTGRES_DB}" \ + --name "${POSTGRES_DB}" \ + --detach \ --shm-size=512mb \ - --volume ${RESTORE_DUMP_GZ}:/backup/${RESTORE_DUMP_GZ} \ - --ports 5432:5432\ + --volume ./backup/:/backup/ \ + -p 5432:5432\ postgres:14-alpine +sleep 10 -#execute within container -podman exec aact_db \ - "gzip --keep --stdout --decompress /backup/2023-09-06_aactdb_with_matches.sql.gz | psql -U ${POSTGRES_USER}" +# Function to check if PostgreSQL is ready +function check_postgres { + podman exec -i "${POSTGRES_DB}" psql -h localhost -U "${POSTGRES_USER}" -d "${POSTGRES_DB}" -c '\q' > /dev/null 2>&1 +} + +# Wait for PostgreSQL to be ready +until check_postgres; do + echo "Waiting for PostgreSQL to be ready..." + sleep 4 +done + +echo "PostgreSQL is ready. Restoring the database..." + +# Decompress the dump file and restore it to the database +podman exec -i "${POSTGRES_DB}" sh -c "gunzip -c /backup/${RESTORE_DUMP_GZ} | psql -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}" + +echo "Database restoration complete." diff --git a/containers/AACT_Reloader/2023-09-06_aactdb_with_matches.sql.gz b/containers/AACT_Reloader/backup/2023-09-06_aactdb_with_matches.sql.gz similarity index 100% rename from containers/AACT_Reloader/2023-09-06_aactdb_with_matches.sql.gz rename to containers/AACT_Reloader/backup/2023-09-06_aactdb_with_matches.sql.gz