17 lines
509 B
Bash
17 lines
509 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
: "${CALENDAR_DB_PASSWORD:?CALENDAR_DB_PASSWORD must be configured}"
|
|
|
|
psql -v ON_ERROR_STOP=1 \
|
|
--username "$POSTGRES_USER" \
|
|
--dbname "$POSTGRES_DB" \
|
|
-v calendar_db_password="$CALENDAR_DB_PASSWORD" <<'SQL'
|
|
SELECT format('CREATE ROLE calendar_app LOGIN PASSWORD %L', :'calendar_db_password')
|
|
WHERE NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'calendar_app')
|
|
\gexec
|
|
|
|
GRANT CONNECT ON DATABASE calendar TO calendar_app;
|
|
GRANT USAGE, CREATE ON SCHEMA public TO calendar_app;
|
|
SQL
|