Files
Church-Music/legacy-site/documentation/md-files/DATABASE_QUICK_REFERENCE.md

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*