Normalize database names in postgres. Closes #2

This commit is contained in:
Jose Diaz-Gonzalez
2015-09-07 01:49:28 -04:00
parent 316fe8f7f0
commit ad4fae1b2a
2 changed files with 12 additions and 3 deletions

View File

@@ -48,8 +48,9 @@ case "$1" in
dokku_log_verbose_quiet "Creating container database"
IP=$(get_container_ip "$ID")
DATABASE_NAME="$(get_database_name $SERVICE)"
while true; do
PGPASSWORD=$password psql --quiet -h "$IP" -p 5432 -U postgres --command "CREATE DATABASE $SERVICE;" &>/dev/null || {
PGPASSWORD=$password psql --quiet -h "$IP" -p 5432 -U postgres --command "CREATE DATABASE $DATABASE_NAME;" &>/dev/null || {
continue
}
break
@@ -171,7 +172,8 @@ case "$1" in
ID=$(cat "$SERVICE_ROOT/ID")
IP=$(get_container_ip "$ID")
PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD")
PGPASSWORD="$PASSWORD" psql -h "$IP" -U postgres
DATABASE_NAME="$(get_database_name $SERVICE)"
PGPASSWORD="$PASSWORD" psql -h "$IP" -U postgres -d "$DATABASE_NAME"
;;
$PLUGIN_COMMAND_PREFIX:info)

View File

@@ -246,7 +246,8 @@ service_url() {
local ID="$(cat "$SERVICE_ROOT/ID")"
local IP="$(get_container_ip "$ID")"
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
echo "$PLUGIN_SCHEME://postgres:$PASSWORD@$IP:${PLUGIN_DATASTORE_PORTS[0]}/$SERVICE"
local DATABASE_NAME="$(get_database_name $SERVICE)"
echo "$PLUGIN_SCHEME://postgres:$PASSWORD@$IP:${PLUGIN_DATASTORE_PORTS[0]}/$DATABASE_NAME"
}
is_container_status () {
@@ -265,3 +266,9 @@ get_service_name() {
local SERVICE="$1"
echo "dokku.${PLUGIN_COMMAND_PREFIX}.$SERVICE"
}
get_database_name() {
# postgres does not like special characters in database names
# so we need to normalize them out
echo "$1" | tr .- _
}