170 lines
2.6 KiB
Markdown
170 lines
2.6 KiB
Markdown
# Backend Troubleshooting Guide
|
|
|
|
Quick solutions for common backend issues.
|
|
|
|
---
|
|
|
|
## 🔧 Module Not Found Error
|
|
|
|
**Error**: `Cannot find module ...`
|
|
|
|
**Fix**:
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
pm2 restart chitfund-backend
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 PostgreSQL Authentication Issues
|
|
|
|
**Error**: `Peer authentication failed`
|
|
|
|
**Solution 1** (Easiest):
|
|
```bash
|
|
sudo -u postgres psql
|
|
```
|
|
|
|
**Solution 2**: Change auth method
|
|
```bash
|
|
sudo nano /etc/postgresql/*/main/pg_hba.conf
|
|
# Change: local all all peer
|
|
# To: local all all md5
|
|
sudo systemctl restart postgresql
|
|
```
|
|
|
|
---
|
|
|
|
## 💾 Database Migration
|
|
|
|
### Apply Member Number Migration
|
|
|
|
**Option A** (Recommended):
|
|
```bash
|
|
node run-member-number-migration.js
|
|
```
|
|
|
|
**Option B**:
|
|
```bash
|
|
sudo cp migrations/20251106_add_member_number.sql /tmp/
|
|
sudo -u postgres psql -d luckychit -f /tmp/20251106_add_member_number.sql
|
|
```
|
|
|
|
---
|
|
|
|
## 🚫 Delete Group Issues
|
|
|
|
**Error**: "Cannot delete, has members"
|
|
|
|
**Cause**: Counting removed members
|
|
|
|
**Fix**: Already fixed! Just restart backend:
|
|
```bash
|
|
pm2 restart chitfund-backend
|
|
```
|
|
|
|
Now only counts active members.
|
|
|
|
---
|
|
|
|
## 🚫 Remove Member 404 Error
|
|
|
|
**Error**: 404 "Member not found in this group"
|
|
|
|
**Cause**: Using wrong ID
|
|
|
|
**Fix**: Use `member.userId` not `member.id`
|
|
```dart
|
|
// Correct
|
|
removeMemberFromGroup(groupId, member.userId);
|
|
```
|
|
|
|
---
|
|
|
|
## 🔌 Connection Issues
|
|
|
|
**Can't connect to database**:
|
|
```bash
|
|
# Check PostgreSQL is running
|
|
sudo systemctl status postgresql
|
|
|
|
# Start if stopped
|
|
sudo systemctl start postgresql
|
|
|
|
# Test connection
|
|
node test-db-connection.js
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Check Backend Status
|
|
|
|
```bash
|
|
# PM2 status
|
|
pm2 status
|
|
|
|
# View logs
|
|
pm2 logs chitfund-backend --lines 50
|
|
|
|
# Restart
|
|
pm2 restart chitfund-backend
|
|
|
|
# Stop
|
|
pm2 stop chitfund-backend
|
|
|
|
# Delete and restart fresh
|
|
pm2 delete chitfund-backend
|
|
pm2 start ecosystem.config.js
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Verify Migration Applied
|
|
|
|
```bash
|
|
sudo -u postgres psql -d luckychit -c "SELECT member_number FROM group_members LIMIT 5;"
|
|
```
|
|
|
|
Should show numbers 1, 2, 3, etc.
|
|
|
|
---
|
|
|
|
## 🆘 Complete Reset
|
|
|
|
If everything is broken:
|
|
|
|
```bash
|
|
cd backend
|
|
|
|
# Stop backend
|
|
pm2 delete all
|
|
|
|
# Clean install
|
|
rm -rf node_modules package-lock.json
|
|
npm install
|
|
|
|
# Run migrations
|
|
node run-member-number-migration.js
|
|
|
|
# Start fresh
|
|
pm2 start ecosystem.config.js
|
|
pm2 save
|
|
```
|
|
|
|
---
|
|
|
|
## 📞 Still Having Issues?
|
|
|
|
Check:
|
|
1. PostgreSQL is running: `sudo systemctl status postgresql`
|
|
2. Database exists: `sudo -u postgres psql -l`
|
|
3. .env file is configured correctly
|
|
4. Port 3000 is not in use: `lsof -i :3000`
|
|
5. Node version is 14+: `node --version`
|
|
|
|
---
|
|
|
|
**Most issues are fixed by**: `npm install && pm2 restart chitfund-backend` 🚀
|
|
|