From 91df4dd69065391646f07b70bdc053edabc337ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=B6hmke?= Date: Sun, 3 Dec 2017 10:27:30 +0100 Subject: [PATCH] added user as owner for new databases --- README.md | 1 - entrypoint.sh | 17 +++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 640209f..e2ce1dc 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ In compose file: ``` services: db_init: - restart: "no" image: bboehmke/db-helper environment: - DB_TYPE=postgresql diff --git a/entrypoint.sh b/entrypoint.sh index ddde06a..237915c 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -71,14 +71,6 @@ postgresql_clear_init() { } postgresql_init() { - result=`psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "SELECT datname FROM pg_catalog.pg_database WHERE datname like '$DB_DATABASE';"` - if [ ! $result ]; then - psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "create database $DB_DATABASE;" > /dev/null - echo "Database \"$DB_DATABASE\" created" - else - echo "Database \"$DB_DATABASE\" already exist" - fi - result=`psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "SELECT usename FROM pg_catalog.pg_user WHERE usename = '$DB_USER';"` if [ ! $result ]; then psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -c "CREATE ROLE $DB_USER with LOGIN CREATEDB PASSWORD '$DB_PASSWORD';" > /dev/null @@ -87,6 +79,15 @@ postgresql_init() { echo "User \"$DB_USER\" already exist" fi + result=`psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "SELECT datname FROM pg_catalog.pg_database WHERE datname like '$DB_DATABASE';"` + if [ ! $result ]; then + psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "create database $DB_DATABASE OWNER $DB_USER;" > /dev/null + echo "Database \"$DB_DATABASE\" created" + else + echo "Database \"$DB_DATABASE\" already exist" + fi + + psql -h$DB_HOST -p $DB_PORT -U$DB_ROOT_USER -tc "GRANT ALL PRIVILEGES ON DATABASE $DB_DATABASE to $DB_USER;" > /dev/null # TODO make this configurable