1.9 KiB
1.9 KiB
Migration vers PostgreSQL
Changements effectués
✅ Schema Prisma modifié pour PostgreSQL ✅ Code retiré Better SQLite adapter ✅ Docker Compose configuré avec service PostgreSQL ✅ Dockerfile mis à jour ✅ Dépendances retirées (better-sqlite3)
Prochaines étapes
1. Démarrer PostgreSQL en local (pour dev)
# Option 1: Docker Compose
docker-compose up postgres -d
# Option 2: PostgreSQL local
# Installer PostgreSQL puis créer la DB
createdb gotgaming
2. Configurer DATABASE_URL
Créer un fichier .env.local avec :
DATABASE_URL="postgresql://gotgaming:password@localhost:5432/gotgaming?schema=public"
3. Créer la migration initiale
pnpm prisma migrate dev --name init_postgres
4. Migrer les données SQLite → PostgreSQL (si nécessaire)
Si tu as des données existantes dans SQLite :
# Exporter SQLite
sqlite3 data/dev.db .dump > sqlite_dump.sql
# Adapter le dump pour PostgreSQL (changer les types, syntaxe)
# Puis importer dans PostgreSQL
psql gotgaming < adapted_dump.sql
Ou utiliser un outil comme pgloader :
pgloader sqlite://data/dev.db postgresql://gotgaming:password@localhost:5432/gotgaming
5. En production (Docker Compose)
# Démarrer tous les services
docker-compose up -d
# Les migrations seront appliquées automatiquement au démarrage via entrypoint.sh
Variables d'environnement Docker
Ajouter dans ton .env ou docker-compose.yml :
POSTGRES_USER=gotgaming
POSTGRES_PASSWORD=change-this-in-production
POSTGRES_DB=gotgaming
POSTGRES_DATA_PATH=./data/postgres
Avantages de PostgreSQL
- ✅ Pool de connexions natif (plus de timeout après inactivité)
- ✅ Concurrence réelle (pas de verrous de fichier)
- ✅ Meilleures performances en production
- ✅ Backups plus simples (
pg_dump) - ✅ Scaling horizontal possible