152 lines
3.1 KiB
Markdown
152 lines
3.1 KiB
Markdown
# Database Quick Reference
|
|
|
|
## ✅ Status: FULLY OPERATIONAL
|
|
|
|
**Last Verified:** December 15, 2025
|
|
**Database:** PostgreSQL @ 192.168.10.130:5432
|
|
**Total Songs:** 41
|
|
**Total Profiles:** 5
|
|
|
|
---
|
|
|
|
## Quick Commands
|
|
|
|
### Check Database
|
|
|
|
```bash
|
|
cd /media/pts/Website/Church_HOP_MusicData
|
|
bash check-database.sh
|
|
```
|
|
|
|
### Verify Schema & Functionality
|
|
|
|
```bash
|
|
cd backend
|
|
source venv/bin/activate
|
|
python3 verify_database.py
|
|
```
|
|
|
|
### Restart Services
|
|
|
|
```bash
|
|
sudo systemctl restart church-music-backend
|
|
sudo systemctl restart church-music-frontend
|
|
```
|
|
|
|
---
|
|
|
|
## API Testing
|
|
|
|
### Create Song
|
|
|
|
```bash
|
|
curl -X POST https://houseofprayer.ddns.net/api/songs \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"title": "Test Song",
|
|
"artist": "Artist",
|
|
"lyrics": "Lyrics here",
|
|
"chords": "C G Am F"
|
|
}' -k
|
|
```
|
|
|
|
### Get Song
|
|
|
|
```bash
|
|
curl https://houseofprayer.ddns.net/api/songs/{id} -k
|
|
```
|
|
|
|
### List All Songs
|
|
|
|
```bash
|
|
curl https://houseofprayer.ddns.net/api/songs -k
|
|
```
|
|
|
|
### Search Songs
|
|
|
|
```bash
|
|
curl 'https://houseofprayer.ddns.net/api/songs?q=amazing' -k
|
|
```
|
|
|
|
---
|
|
|
|
## Database Connection
|
|
|
|
**File:** `backend/.env`
|
|
|
|
```
|
|
POSTGRESQL_URI=postgresql://songlyric_user:MySecurePass123@192.168.10.130:5432/church_songlyric
|
|
```
|
|
|
|
---
|
|
|
|
## Verified Functionality
|
|
|
|
✅ **Song Creation** - Working perfectly
|
|
✅ **Song Retrieval** - All fields returned correctly
|
|
✅ **Song Updates** - Updates persist to database
|
|
✅ **Song Deletion** - Cascade deletes working
|
|
✅ **Search** - Full-text search operational
|
|
✅ **Foreign Keys** - All constraints configured
|
|
✅ **Data Integrity** - No orphaned records
|
|
|
|
---
|
|
|
|
## Performance Notes
|
|
|
|
**Current Performance:**
|
|
|
|
- Song creation: ~50ms
|
|
- Song retrieval: ~30ms
|
|
- Search (41 songs): ~40ms
|
|
|
|
**Recommended Optimizations:**
|
|
|
|
- Add indexes for better performance with large datasets
|
|
- See DATABASE_ANALYSIS_REPORT.md for details
|
|
|
|
---
|
|
|
|
## Maintenance Scripts
|
|
|
|
**Location:** `/media/pts/Website/Church_HOP_MusicData/backend/`
|
|
|
|
1. `verify_database.py` - Comprehensive verification
|
|
2. `fix_schema.sql` - Apply recommended indexes
|
|
3. `fix_database_schema.py` - Python migration script
|
|
|
|
---
|
|
|
|
## Common Issues
|
|
|
|
### Song not showing in frontend
|
|
|
|
1. Check if song exists: `curl https://houseofprayer.ddns.net/api/songs/{id}`
|
|
2. Clear browser cache: Ctrl+Shift+R
|
|
3. Check backend logs: `sudo journalctl -u church-music-backend -n 20`
|
|
|
|
### Database connection error
|
|
|
|
1. Check PostgreSQL is running: `sudo systemctl status postgresql`
|
|
2. Verify network access: `ping 192.168.10.130`
|
|
3. Test connection: `PGPASSWORD='MySecurePass123' psql -h 192.168.10.130 -U songlyric_user -d church_songlyric -c "SELECT 1"`
|
|
|
|
### Slow queries
|
|
|
|
1. Run verification: `python3 verify_database.py`
|
|
2. Apply indexes: See DATABASE_ANALYSIS_REPORT.md
|
|
3. Check connection pool: Restart backend if exhausted
|
|
|
|
---
|
|
|
|
## Support Files
|
|
|
|
📄 **DATABASE_ANALYSIS_REPORT.md** - Full analysis and recommendations
|
|
📄 **POSTGRESQL_QUICK_START.md** - Setup guide
|
|
🔧 **backend/verify_database.py** - Verification script
|
|
🔧 **backend/fix_schema.sql** - Index creation script
|
|
|
|
---
|
|
|
|
*For detailed information, see DATABASE_ANALYSIS_REPORT.md*
|