You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
613 B
23 lines
613 B
#!/bin/bash |
|
set -euo pipefail |
|
ZAMMAD_DB_PASS=$(openssl rand -hex 16) |
|
export ZAMMAD_DB_PASS |
|
|
|
sudo -u postgres psql <<SQL |
|
DO \$\$ |
|
BEGIN |
|
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'zammad') THEN |
|
CREATE USER zammad WITH PASSWORD '${ZAMMAD_DB_PASS}'; |
|
ELSE |
|
ALTER USER zammad WITH PASSWORD '${ZAMMAD_DB_PASS}'; |
|
END IF; |
|
END |
|
\$\$; |
|
|
|
SELECT 'CREATE DATABASE zammad_production OWNER zammad ENCODING ''UTF8''' |
|
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'zammad_production')\gexec |
|
|
|
GRANT ALL PRIVILEGES ON DATABASE zammad_production TO zammad; |
|
SQL |
|
|
|
echo "ZAMMAD_DB_PASS=${ZAMMAD_DB_PASS}"
|
|
|