← Journal technique
EduQate·infrastructure·2026-08-10

Un entrypoint de dev qui ressuscitait sans cesse des données supprimées

A Docker dev entrypoint re-ran the seed script on every container start, reinserting deleted rows and crash-looping on a duplicate key.

Deux copies ont divergé

Une idée tenue à la main à deux endroits — schéma et migration, dev et prod, app et app.

devops/docker/entrypoints/backend-dev.sh lançait automatiquement seed-content.js à chaque démarrage de conteneur, réinsérant 15 organisations de démo obsolètes par-dessus le vrai jeu de 48 organisations à chaque redémarrage. Ça a causé deux moments déroutants dans une seule session : un tableau de bord affichant soudain « 63/63 organisations », puis une boucle de crash quand un re-seed partiel a heurté une clé en double.

De la même période : le volume Postgres de prod est externe maintenant pour que docker compose down -v ne puisse pas l'emporter, et chaque conteneur local et CI porte un préfixe app-dev- pour qu'une stack locale ne puisse pas adresser la vraie. Les deux sont peu coûteux, et les deux existent parce que quelque chose a failli mal tourner.