diff --git a/Makefile b/Makefile index 1cfd243d9..2a22f9400 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,9 @@ dev-run-infra: dev-dump-db: sh ./infra/scripts/backup_dev_db.sh +dev-restore-db: + sh ./infra/scripts/restore_dev_db.sh + dev-erase-db: docker compose \ --project-name $(PROJECT_NAME) \ @@ -91,9 +94,6 @@ docker-build-app: --build-arg SENTRY_ORG=$(SENTRY_ORG) \ --build-arg SENTRY_PROJECT=$(SENTRY_PROJECT) -reset: - sh ./infra/scripts/restore_dev_db.sh - # INIT commands .PHONY: load-sig-data prod-load-sig-data init-geoserver load-sig-data: diff --git a/infra/docker/docker-compose.dev.yml b/infra/docker/docker-compose.dev.yml index f5eaf04c5..dbfd5fa67 100644 --- a/infra/docker/docker-compose.dev.yml +++ b/infra/docker/docker-compose.dev.yml @@ -1,4 +1,7 @@ services: + db: + volumes: + - "../../.backups/:/opt/monitorenv_backups" geoserver: restart: unless-stopped links: diff --git a/infra/scripts/backup_dev_db.sh b/infra/scripts/backup_dev_db.sh index f3053f45b..812c1dea2 100755 --- a/infra/scripts/backup_dev_db.sh +++ b/infra/scripts/backup_dev_db.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -BACKUP_FILE_PATH="./.backups/$(date '+%Y-%m-%d').sqlc" +BACKUP_FILE_PATH="./.backups/$(date '+%Y-%m-%d').sql" if [ ! -d ./.backups ]; then echo "Creating directory './.backups'…" @@ -9,4 +9,4 @@ if [ ! -d ./.backups ]; then fi echo "Dumping databases in '${BACKUP_FILE_PATH}'…" -docker exec -t monitorenv-db-1 pg_dump -c -F c -U postgres monitorenvdb > "${BACKUP_FILE_PATH}" +docker exec -t monitorenv-db-1 pg_dump -c -F p -U postgres monitorenvdb > "${BACKUP_FILE_PATH}" diff --git a/infra/scripts/restore_dev_db.sh b/infra/scripts/restore_dev_db.sh index a8a05dd5d..20daa102f 100755 --- a/infra/scripts/restore_dev_db.sh +++ b/infra/scripts/restore_dev_db.sh @@ -4,26 +4,6 @@ set -e LAST_BACKUP_FILE_NAME=$(ls -p ./.backups | grep -v / | sort -V | tail -n 1) LAST_BACKUP_FILE_PATH="./.backups/${LAST_BACKUP_FILE_NAME}" -# echo "Stopping and removing database container with its volume…" -# docker compose \ -# --project-name monitorenv \ -# --project-directory ./infra/docker \ -# --env-file='./infra/.env' \ -# -f ./infra/docker/docker-compose.yml \ -# -f ./infra/docker/docker-compose.dev.yml \ -# rm -f -s -v db - -# echo "Starting databse container…" -# docker compose \ -# --project-name monitorenv \ -# --project-directory ./infra/docker \ -# --env-file='./infra/.env' \ -# -f ./infra/docker/docker-compose.yml \ -# -f ./infra/docker/docker-compose.dev.yml \ -# up --wait db - -# # echo "Waiting for database to be ready…" -# timeout 90s bash -c "until docker exec monitorenv-db-1 pg_isready ; do sleep 1 ; done" echo "Restoring backup '${LAST_BACKUP_FILE_PATH}'…" -cat "${LAST_BACKUP_FILE_PATH}" | docker exec -t monitorenv-db-1 pg_restore -c -d monitorenvdb -F c -U postgres +docker exec -t monitorenv-db-1 psql -d monitorenvdb -U postgres -f "/opt/monitorenv_backups/${LAST_BACKUP_FILE_NAME}"