1.3 KiB
1.3 KiB
Strategie de Base de Données pour Veza Chat Server
Isolation par Schema
Le veza-chat-server partage l'instance PostgreSQL veza_lab avec d'autres services (Backend API, Stream Server), mais utilise un schema dédié nommé chat.
Cette isolation permet de :
- Éviter les conflits de noms de tables (ex:
users) avec le Backend API (schemapublic). - Gérer des migrations SQLx indépendantes et spécifiques au Chat.
- Réinitialiser les données du Chat sans impacter le reste du système.
Configuration
Pour se connecter à la base de données du chat, l'URL de connexion (DSN) doit inclure l'option search_path=chat.
Exemple de DSN
export DATABASE_URL="postgres://user:pass@localhost:5432/veza_lab?sslmode=disable&options=-c%20search_path=chat"
Scripts Lab
Les scripts dans scripts/ configurent automatiquement cet environnement :
start_lab.sh: Démarre le serveur en configurant le schemachat.reset_lab_db.sh: Supprime et recrée le schemachat, puis joue les migrations.
Migrations
Les migrations SQLx se trouvent dans migrations/. Elles s'appliquent uniquement au schema chat.
# Appliquer manuellement les migrations
export DATABASE_URL="..." # avec search_path=chat
sqlx migrate run