All checks were successful
docs/adr/ : une fiche courte (contexte / decision / consequences) par decision structurante, + un index et un modele de fiche. 0001 PHP from scratch sans Composer ; 0002 back-office MVC rendu serveur ; 0003 stock en % + dispo calculee RG-T21 ; 0004 PIN d'action sensible + audit en transaction ; 0005 throttle PIN separe du login (RG-T22) ; 0006 HTTP 409 vs 422 ; 0007 effacement RGPD par anonymisation (tombstone) ; 0008 Makefile -> docker compose (wakdo-migrate) ; 0009 compose standalone + prod gitignore. Deuxieme PR du jeu de documentation. Resout le renvoi docs/adr/ d'ARCHITECTURE.md.
1.3 KiB
1.3 KiB
ADR-0008 — Du Makefile a docker compose up (service wakdo-migrate)
- Statut : Accepte
- Date : 2026-06-17
Contexte
Le critere Cr 7.c.4 demande de lancer la stack complete en une commande. C'etait
make init. Mais le Makefile portait surtout des cibles mortes/trompeuses
(test/lint annoncaient "pas implemente" alors que les tests tournent) ; sa seule
cible porteuse, init, existait parce que docker compose up seul n'applique pas les
migrations. Le critere parle d'un resultat, pas de make.
Decision
Migration + seed deplaces dans la stack : un service one-shot wakdo-migrate
(image mariadb, db/migrate-container.sh par le reseau) applique
db/migrations/*.sql (suivi schema_migrations) puis db/seeds/*.sql (suivi
seeds_applied), idempotents. wakdo-app/wakdo-web depends_on: service_completed_successfully. Makefile supprime. docker compose up devient
l'unique commande.
Consequences
- (+) Commande universelle, sans dependance a l'outil
makesur l'hote. - (+) Comportement = doc (l'ancien
make initne seedait meme pas). - (-) Migrations/seed evalues a chaque
up(cout negligeable, suivi -> re-run sans effet). - (-) Base deja seedee avant le suivi : back-filler
seeds_appliedavant le 1er up. db/migrate.sh(hote) conserve pour l'usage manuel. Detail : journal 2026-06-17.