fix(infra): replace PostgreSQL init.sql with init.sh for correct schema initialization

- Removed invalid init.sql with syntax error (ALTER DEFAULT PRIVILEGES IN DATABASE unsupported)
- Added init.sh with corrected SQL using IN SCHEMA public
- Fixes PostgreSQL initialization for RLS and permissions setup

Ultraworked with Sisyphus <https://github.com/code-yeongyu/oh-my-opencode>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
WorkClub Automation
2026-03-05 11:07:12 +01:00
parent 09c5d9607d
commit 8ba22d3dc3

28
infra/postgres/init.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
# PostgreSQL initialization script for development environment
# Creates: workclub (application data), keycloak (Keycloak metadata)
set -e
# Create application database
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER app WITH PASSWORD 'devpass';
CREATE DATABASE workclub OWNER app;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO app;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO app;
EOSQL
# Create Keycloak database
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER keycloak WITH PASSWORD 'keycloakpass';
CREATE DATABASE keycloak OWNER keycloak;
EOSQL
# Grant privileges in keycloak database
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "keycloak" <<-EOSQL
GRANT ALL ON SCHEMA public TO keycloak;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO keycloak;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO keycloak;
EOSQL
echo "PostgreSQL initialization complete: workclub and keycloak databases created"