Skip to main content

Troubleshooting: Database Issues

Common database issues and solutions.

Problem: Database Errors or Corruption​

Symptom: Errors when running commands, data missing.

Solution 1: Backup Database​

# Backup before troubleshooting
cp ~/.projax/data.json ~/.projax/data.json.backup

Solution 2: Check Database File​

# Verify file exists
ls -la ~/.projax/data.json

# Check file is valid JSON
cat ~/.projax/data.json | jq .

Solution 3: Reset Database​

⚠️ Warning: This deletes all data!

# Remove database
rm ~/.projax/data.json

# Will be recreated on next use

Problem: Database Not Found​

Symptom: "Database not found" errors.

Solution: Database Auto-Creation​

The database is created automatically on first use. If it's not created:

# Ensure directory exists
mkdir -p ~/.projax

# Run any command to create database
prx list

Problem: Migration Issues​

Symptom: SQLite migration fails or incomplete.

Solution 1: Check SQLite File​

# Check if SQLite file exists
ls -la ~/.projax/dashboard.db

Solution 2: Manual Migration​

# Backup SQLite
cp ~/.projax/dashboard.db ~/.projax/dashboard.db.backup

# Remove JSON database to trigger migration
rm ~/.projax/data.json

# Run any command to trigger migration
prx list

Solution 3: Check Migration Logs​

Check console output for migration errors.

Problem: Data Not Persisting​

Symptom: Changes not saved between sessions.

Solution 1: Check File Permissions​

# Check permissions
ls -la ~/.projax/data.json

# Fix if needed
chmod 644 ~/.projax/data.json

Solution 2: Check Disk Space​

# Check available space
df -h ~

Solution 3: Verify Write Access​

# Test write access
echo '{}' > ~/.projax/test.json
rm ~/.projax/test.json

Problem: Concurrent Access Issues​

Symptom: Data corruption with multiple processes.

Solution: Database Uses File Locking​

The database uses file-based locking. If issues persist:

  1. Ensure only one process writes at a time
  2. Close other projax instances
  3. Restart processes