Base de données
Trois BDD indépendantes, aucune jointure cross-plateforme. La synchronisation passe exclusivement par RabbitMQ.
Chantier : ORM et stratégie de migration
Statut : stable Périmètre : transverse
- A1Connect : Prisma 5 — schéma unique dans
libs/common/prisma/schema.prisma, migrations viaprisma migrate devdans le containerapi - Dema1n : TypeORM —
migrationsRun: truedans la config, les migrations s'appliquent au démarrage du container - Inspire-v2 : TypeORM — migrations manuelles (
yarn migration:run)
Chantier : Cohérence cross-plateforme
Statut : stable Périmètre : transverse
- La clé de jointure inter-plateformes est l'email (pas un ID partagé)
- Chaque plateforme maintient sa propre table
useravec les champs dont elle a besoin - Les mises à jour de profil (
user___updated) sont publiées par la plateforme source, consommées par les autres pour mise à jour locale
Chantier : Spécificités Dema1n
Statut : stable Périmètre : dema1n
- MySQL avec charset
utf8mb4_general_ci— attention aux comparaisons de chaînes case-insensitive - Redis utilisé pour les sessions et le cache (pas documenté en détail — à compléter)
Chantier : Spécificités Inspire-v2
Statut : stable Périmètre : inspire-v2
- PostgreSQL avec SSL optionnel via
DB_SSLCERT - Elasticsearch en parallèle pour la recherche full-text (les données sont indexées, pas requêtées via PG pour la recherche)
- MinIO pour les assets binaires (images, vidéos via Mux)