Résout définitivement « Role sbc_app does not exist » : l'initialisation
ne dépend plus de docker-entrypoint-initdb.d ni de bind mounts du dépôt
(fragiles selon le mode de déploiement Portainer).
- Nouveau bootstrap idempotent exécuté par l'app à chaque démarrage avec
le superuser (PG_SUPERUSER_PASSWORD) : création de la base et du rôle
sbc_app si absents, réalignement du mot de passe, schéma en
CREATE ... IF NOT EXISTS, données de démo si la base est vide, grants
- Schéma et seed embarqués dans l'image (server/src/sql), seed par
recherche de noms (indépendant des séquences)
- Compose réduit à deux services (db + app), suppression de db-sync et
du montage ./db/init ; répertoire db/ retiré
Vérifié : volume totalement vierge auto-initialisé, redémarrage sans
re-seed, changement d'APP_DB_PASSWORD auto-réparé, 34 tests e2e verts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fkg15RCxNgUys4ru73He2o