🔧 FIX: Prevent 'role root does not exist' PostgreSQL error

start.sh:
- Added fallback defaults for DB_USER, DB_HOST, DB_DATABASE, DB_PASSWORD
- Ensures psql always uses 'postgres' user even if env vars missing
- Added debug logging to show which credentials are being used

complete_schema.sql:
- Permissions Protocol now checks if directus_policies table exists first
- Silently skips on first boot (before Directus creates its tables)
- Prevents SQL errors during fresh install
This commit is contained in:
cawcenter
2025-12-14 15:05:35 -05:00
parent 212e951b78
commit 6465c3d1f8
2 changed files with 25 additions and 6 deletions

View File

@@ -8,8 +8,15 @@ DB_READY=false
MAX_RETRIES=30
RETRY_COUNT=0
# === Fallback for missing env vars (prevents 'role root does not exist') ===
DB_USER="${DB_USER:-postgres}"
DB_HOST="${DB_HOST:-postgresql}"
DB_DATABASE="${DB_DATABASE:-directus}"
DB_PASSWORD="${DB_PASSWORD:-Idk@2026lolhappyha232}"
# === Wait for PostgreSQL ===
echo "📡 Waiting for PostgreSQL to be ready..."
echo "📡 Using DB_USER=$DB_USER, DB_HOST=$DB_HOST, DB_DATABASE=$DB_DATABASE"
until [ $DB_READY = true ] || [ $RETRY_COUNT -eq $MAX_RETRIES ]; do
if PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_DATABASE" -c '\q' 2>/dev/null; then
DB_READY=true