Normalize database names in postgres. Closes #2
This commit is contained in:
6
commands
6
commands
@@ -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)
|
||||
|
||||
@@ -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 .- _
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user