From 2a86b9ff1d63ece8d0c4547cc057002b79e52008 Mon Sep 17 00:00:00 2001 From: myluki2000 Date: Fri, 13 Sep 2024 15:11:48 +0200 Subject: [PATCH] Update docker compose to use unified db container --- pg-init-scripts/create-multiple-databases.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pg-init-scripts/create-multiple-databases.sh diff --git a/pg-init-scripts/create-multiple-databases.sh b/pg-init-scripts/create-multiple-databases.sh new file mode 100644 index 0000000..9cec938 --- /dev/null +++ b/pg-init-scripts/create-multiple-databases.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Script taken with modifications from https://dev.to/bgord/multiple-postgres-databases-in-a-single-docker-container-417l + +set -e +set -u + +function create_user_and_database() { + local database=$1 + echo " Creating user and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE DATABASE "$database"; + GRANT ALL PRIVILEGES ON DATABASE "$database" TO "$POSTGRES_USER"; +EOSQL +} + +for var in $(env | grep '^POSTGRES_CREATE_DB_' | awk -F '=' '{print $2}'); do + echo "Creating database: $var" + create_user_and_database $var +done \ No newline at end of file