From 4da98f6580399c98cd08f05d057a93eaf4c231f5 Mon Sep 17 00:00:00 2001 From: Arnie Date: Sun, 28 Jul 2019 07:33:19 +0200 Subject: [PATCH] Update pgadmin, add postgres migrations --- pgadmin/run | 2 +- pgsql-db/run | 71 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 68 insertions(+), 5 deletions(-) diff --git a/pgadmin/run b/pgadmin/run index 3b67d58..2148d06 100755 --- a/pgadmin/run +++ b/pgadmin/run @@ -3,7 +3,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P ) IMAGE_NAME="dpage/pgadmin4" -IMAGE_VERSION="4.1" +IMAGE_VERSION="4.10" SERVICE_NAME=pgadmin diff --git a/pgsql-db/run b/pgsql-db/run index 960c7ef..6d49318 100755 --- a/pgsql-db/run +++ b/pgsql-db/run @@ -2,24 +2,39 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P ) -IMAGE_NAME="mdillon/postgis" -IMAGE_VERSION="9.5" +IMAGE_NAME="postgres" +IMAGE_VERSION="10.9" + +POSTGIS_MAJOR="2.5" +POSTGIS_VERSION="2.5.2+dfsg-1~exp1.pgdg90+1" SERVICE_NAME=pgsql-db - source ${SCRIPT_PATH}/../common.shinc # # Project specific variables # -DB_VOLUME=pgsql_persistent +DB_VOLUME=pgsql_persistent_10 PORT=5432 source ${SCRIPT_PATH}/env.shinc 2> /dev/null +__build() { + docker build \ + --build-arg IMAGE_NAME=${IMAGE_NAME} \ + --build-arg VERSION=${IMAGE_VERSION} \ + --build-arg POSTGIS_MAJOR=${IMAGE_VERSION} \ + --build-arg POSTGIS_VERSION=${IMAGE_VERSION} \ + -t ${SERVICE_NAME}:latest \ + ${SCRIPT_PATH}/build + + return $? + +} + init() { __init @@ -44,6 +59,54 @@ init() { __ask_to_start } +migrate9to10() { + local migrationVolume="pgsql-9-10-dump-migration" + local migrationpath="/pgsql-data-dump" + stop + docker volume create ${migrationVolume} + + docker run --rm -d \ + --name postgres_migration_from_9 \ + -v ${DB_VOLUME}:/var/lib/postgresql/data \ + -v ${PGSQL_DB_BIN}:/usr/lib/postgresql/${IMAGE_VERSION}/bin \ + -v ${migrationVolume}:${migrationpath} \ + -e POSTGRES_USER=${DB_USER} \ + -e POSTGRES_PASSWORD=${DB_PASSWORD} \ + mdillon/postgis:9 + + docker exec -it \ + postgres_migration_from_9 \ + bash -c "pg_dumpall > /migration/full.dump" + + if [[ $? -ne 0 ]]; then + __err "Bad thing, don't continue, quitsies, bye" + exit 137 + fi + + docker stop postgres_migration_from_9 + + docker volume rm -f ${DB_VOLUME} + docker volume create ${DB_VOLUME} + + docker run --rm -d \ + --name postgres_migration_to_10 \ + -v ${DB_VOLUME}:/var/lib/postgresql/data \ + -v ${PGSQL_DB_BIN}:/usr/lib/postgresql/${IMAGE_VERSION}/bin \ + -v ${migrationVolume}:${migrationpath} \ + -e POSTGRES_USER=${DB_USER} \ + -e POSTGRES_PASSWORD=${DB_PASSWORD} \ + mdillon/postgis:10 \ + psql -d postgres -f ${migrationpath}/full.dump + + sudo docker exec -it \ + postgres_migration_to_10 \ + psql -f /migration/full.dump + + docker stop postgres_migration_to_10 + + __init +} + "$@" exit $?