feat: Add PostgreSQL support and enhance admin dashboard

- Migrate all service files from hardcoded SQLite to dual SQLite/PostgreSQL support
- Add PostgreSQL service to docker-compose.yml
- Create database abstraction layer (database.py) with execute_query, row_to_dict helpers
- Update all 7 service files: account, rating, contact, ai_cost, quota, site_assistant, admin
- Add new admin endpoint /database-stats for table size and row count visualization
- Add database_type field to system health endpoint
- Update .env.example with proper PostgreSQL connection string
This commit is contained in:
Your Name
2026-03-31 21:51:45 +02:00
parent 42b1ad1250
commit 030418f6db
11 changed files with 1930 additions and 1006 deletions

View File

@@ -41,6 +41,7 @@ UPLOAD_FOLDER=/tmp/uploads
OUTPUT_FOLDER=/tmp/outputs
FILE_EXPIRY_SECONDS=1800
STORAGE_ALLOW_LOCAL_FALLBACK=true
# Use DATABASE_PATH for SQLite (development) or DATABASE_URL for PostgreSQL (production)
DATABASE_PATH=/app/data/dociva.db
# CORS
@@ -64,8 +65,8 @@ STRIPE_PRICE_ID_PRO_YEARLY=
SENTRY_DSN=
SENTRY_ENVIRONMENT=production
# PostgreSQL (production) — leave empty to use SQLite
DATABASE_URL=
# PostgreSQL (production)
DATABASE_URL=postgresql://dociva:${POSTGRES_PASSWORD}@postgres:5432/dociva
POSTGRES_DB=dociva
POSTGRES_USER=dociva
POSTGRES_PASSWORD=replace-with-strong-postgres-password