107 lines
2.4 KiB
Markdown
107 lines
2.4 KiB
Markdown
# 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!**
|