#!/usr/bin/env bash
set -e
function script_dir {
val="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "$val"
}
base=$(script_dir)
echo echo “Installing Database” echo “Version: $(cat $base/VERSION.txt)” echo “= = =”
if [ -z ${DATABASE_NAME+x} ]; then
database=message_store echo "DATABASE_NAME is not set. Using: $database." export DATABASE_NAME=$database
else
database=$DATABASE_NAME
fi
if [ -z ${CREATE_DATABASE+x} ]; then
CREATE_DATABASE="on"
fi
create_database=true if [ “$CREATE_DATABASE” = “off” ] ; then
create_database=false
fi
if [ -z ${PGOPTIONS+x} ]; then
export PGOPTIONS='-c client_min_messages=warning'
fi
function create-user {
base=$(script_dir) echo "» message_store role" psql postgres -q -f $base/roles/message-store.sql
}
function create-database {
echo "» $database database" createdb $database
}
function create-schema {
echo "» message_store schema" psql $database -q -f $base/schema/message-store.sql
}
function create-extensions {
base=$(script_dir) echo "» pgcrypto extension" psql $database -q -f $base/extensions/pgcrypto.sql
}
function create-table {
base=$(script_dir) echo "» messages table" psql $database -q -f $base/tables/messages.sql
}
echo
echo “Creating User” echo “- - -” create-user echo
echo “Creating Database” echo “- - -” if [ “$create_database” = true ] ; then
create-database
else
echo "Database creation is deactivated. Not creating the database."
fi echo
echo “Creating Schema” echo “- - -” create-schema echo
echo “Creating Extensions” echo “- - -” create-extensions echo
echo “Creating Table” echo “- - -” create-table echo
# Install functions source $base/install-functions.sh
# Install indexes source $base/install-indexes.sh
# Install views source $base/install-views.sh
# Install privileges source $base/install-privileges.sh
echo “= = =” echo “Done Installing Database” echo “Version: $(cat $base/VERSION.txt)” echo