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.
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# 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 `make` sur l'hote.
|
|
- (+) Comportement = doc (l'ancien `make init` ne 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_applied` avant le 1er up.
|
|
- `db/migrate.sh` (hote) conserve pour l'usage manuel. Detail : journal 2026-06-17.
|