Update pgadmin, add postgres migrations

This commit is contained in:
Arnie 2019-07-28 07:33:19 +02:00
parent 3ef3473236
commit 4da98f6580
2 changed files with 68 additions and 5 deletions

View File

@ -3,7 +3,7 @@
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P ) SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="dpage/pgadmin4" IMAGE_NAME="dpage/pgadmin4"
IMAGE_VERSION="4.1" IMAGE_VERSION="4.10"
SERVICE_NAME=pgadmin SERVICE_NAME=pgadmin

View File

@ -2,24 +2,39 @@
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P ) SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="mdillon/postgis" IMAGE_NAME="postgres"
IMAGE_VERSION="9.5" IMAGE_VERSION="10.9"
POSTGIS_MAJOR="2.5"
POSTGIS_VERSION="2.5.2+dfsg-1~exp1.pgdg90+1"
SERVICE_NAME=pgsql-db SERVICE_NAME=pgsql-db
source ${SCRIPT_PATH}/../common.shinc source ${SCRIPT_PATH}/../common.shinc
# #
# Project specific variables # Project specific variables
# #
DB_VOLUME=pgsql_persistent DB_VOLUME=pgsql_persistent_10
PORT=5432 PORT=5432
source ${SCRIPT_PATH}/env.shinc 2> /dev/null 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() {
__init __init
@ -44,6 +59,54 @@ init() {
__ask_to_start __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 $? exit $?