# Fix DATABASE_URL in .env File ## ❌ Issue The `.env` file contains a placeholder `DATABASE_URL`: ``` DATABASE_URL=postgresql://user:password@host:port/database ``` This is not a valid connection string - the port must be a number (e.g., `5432`), not the literal word "port". --- ## ✅ Solution ### Option 1: Use the Fix Script (Interactive) ```bash cd /home/intlc/projects/proxmox/dbis_core ./scripts/fix-database-url.sh ``` This will prompt you for: - Database host (default: 192.168.11.100) - Database port (default: 5432) - Database name (default: dbis_core) - Database user (default: dbis) - Database password ### Option 2: Manual Edit Edit the `.env` file and replace the placeholder with the actual connection string: ```bash cd /home/intlc/projects/proxmox/dbis_core nano .env # or use your preferred editor ``` Replace: ``` DATABASE_URL=postgresql://user:password@host:port/database ``` With (based on deployment docs): ``` DATABASE_URL=postgresql://dbis:8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771@192.168.11.100:5432/dbis_core ``` ### Option 3: Quick Fix Command ```bash cd /home/intlc/projects/proxmox/dbis_core # Replace with actual connection string sed -i 's|DATABASE_URL=postgresql://user:password@host:port/database|DATABASE_URL=postgresql://dbis:8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771@192.168.11.100:5432/dbis_core|' .env ``` --- ## 🔍 Verify Fix After fixing, verify the connection string: ```bash cd /home/intlc/projects/proxmox/dbis_core grep "^DATABASE_URL" .env | sed 's/:[^:@]*@/:***@/g' ``` You should see: ``` DATABASE_URL=postgresql://dbis:***@192.168.11.100:5432/dbis_core ``` --- ## 🚀 Then Run Migration Once the DATABASE_URL is fixed, run the migration again: ```bash ./scripts/run-chart-of-accounts-migration.sh ``` --- ## ⚠️ Important Notes 1. **Password Encoding**: If your password contains special characters (`:`, `@`, `#`, `/`, `?`, `&`, `=`), they need to be URL-encoded: - `:` → `%3A` - `@` → `%40` - `#` → `%23` - `/` → `%2F` - `?` → `%3F` - `&` → `%26` - `=` → `%3D` 2. **Connection Test**: You can test the connection with: ```bash psql "$DATABASE_URL" -c "SELECT version();" ``` 3. **Security**: The `.env` file should be in `.gitignore` and not committed to version control. --- **After fixing the DATABASE_URL, the migration should work!**