From d90539a679d30b96fed21414bd6f69d1690a241a Mon Sep 17 00:00:00 2001 From: Will King Date: Sat, 24 Aug 2024 16:19:40 -0700 Subject: [PATCH] updated data-restoration script. Currently working --- containers/AACT_Reloader/.gitattributes | 1 + .../AACT_Reloader/StartRestoreContainer.sh | 32 ++++++++++++++----- .../2023-09-06_aactdb_with_matches.sql.gz | 0 3 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 containers/AACT_Reloader/.gitattributes rename containers/AACT_Reloader/{ => backup}/2023-09-06_aactdb_with_matches.sql.gz (100%) 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