Fix production daabase creation
* The user should be externally configured.
This commit is contained in:
parent
b2197ff11c
commit
4091059e75
|
|
@ -1,2 +1 @@
|
||||||
CREATE ROLE kompanion LOGIN PASSWORD 'komp';
|
|
||||||
CREATE DATABASE kompanion OWNER kompanion;
|
CREATE DATABASE kompanion OWNER kompanion;
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,18 @@ ROLE=${ROLE:-kompanion}
|
||||||
PASS=${PASS:-komp}
|
PASS=${PASS:-komp}
|
||||||
|
|
||||||
psql -v ON_ERROR_STOP=1 <<SQL
|
psql -v ON_ERROR_STOP=1 <<SQL
|
||||||
DO $$ BEGIN
|
DROP DATABASE IF EXISTS "$DB_NAME";
|
||||||
PERFORM 1 FROM pg_roles WHERE rolname = '$ROLE';
|
CREATE DATABASE "$DB_NAME" OWNER "$ROLE";
|
||||||
IF NOT FOUND THEN EXECUTE format('CREATE ROLE %I LOGIN PASSWORD %L', '$ROLE', '$PASS'); END IF;
|
|
||||||
END $$;
|
|
||||||
DO $$ BEGIN
|
|
||||||
IF NOT EXISTS (SELECT 1 FROM pg_database WHERE datname = '$DB_NAME') THEN
|
|
||||||
EXECUTE format('CREATE DATABASE %I OWNER %I', '$DB_NAME', '$ROLE');
|
|
||||||
END IF;
|
|
||||||
END $$;
|
|
||||||
SQL
|
SQL
|
||||||
|
|
||||||
|
for f in "$(dirname "$0")"/../init/*.sql; do
|
||||||
|
if [[ "$f" == *"001_roles.sql"* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
echo "Applying $f"
|
||||||
|
psql -d "$DB_NAME" -f "$f"
|
||||||
|
done
|
||||||
|
|
||||||
for f in `dirname($0)`/*.sql; do
|
for f in `dirname($0)`/*.sql; do
|
||||||
echo "Applying $f"
|
echo "Applying $f"
|
||||||
psql -d "$DB_NAME" -f "$f"
|
psql -d "$DB_NAME" -f "$f"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue