|
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / js-tests (pull_request) Successful in 38s
CI / php-lint (push) Successful in 42s
CI / static-tests (push) Successful in 1m29s
CI / js-tests (push) Successful in 45s
CI / secret-scan (pull_request) Successful in 17s
CI / php-lint (pull_request) Successful in 40s
CI / static-tests (pull_request) Successful in 1m10s
Seed 0006 lie chaque soda fontaine 30cl a sa variante 50cl via maxi_variant_product_id : en menu Maxi, resolveSelections substitue la boisson vers la 50cl (meme mecanique que l'accompagnement Grande Frite), sans code serveur. Les boissons en bouteille (sans variante) restent en taille standard, le surcout Maxi etant porte par le menu. La borne transporte desormais le format Normal/Maxi explicitement (buildMenuCartItem) au lieu de l'inferer de supplement_cents>0 (faux negatif si maxi==normal) ; checkout.js lit cartItem.format avec repli historique pour les paniers serialises. Commentaire migration 0007 corrige (la substitution Maxi de la boisson est desormais voulue). Tests : OrderRepositoryTest (boisson Maxi -> 50cl + bouteille inchangee), checkout/composer-slots (format transporte). Seed valide idempotent sur base jetable (5 sodas lies, frites intactes, bouteilles NULL). |
||
|---|---|---|
| .. | ||
| init | ||
| migrations | ||
| seeds | ||
| migrate-container.sh | ||
| migrate.sh | ||
| README.md | ||
| seed.sh | ||
Base de donnees - migrations & seeds
Transcription executable du MLD (docs/merise/mld.md, 21 tables) vers MariaDB 11.4.
Arborescence
db/
migrations/ migrations SQL versionnees, appliquees dans l'ordre lexicographique
0001_init_schema.sql schema initial : 21 tables, FK, CHECK, index (InnoDB, utf8mb4)
seeds/ donnees de demonstration (a venir : roles/permissions, allergenes, catalogue)
migrate.sh runner de migrations (idempotent)
Appliquer les migrations
bash db/migrate.sh # applique les migrations en attente
bash db/migrate.sh --status # liste l'etat sans rien appliquer
Le runner cible le conteneur wakdo-db et lit les identifiants dans .env
(DB_NAME, DB_ROOT_PASSWORD). Il maintient une table schema_migrations
(une ligne par fichier applique) : relancer ne rejoue que les nouvelles
migrations. La cible bash db/migrate.sh est destinee a appeler ce script.
Conventions
- Une migration = un fichier
NNNN_description.sql. Un fichier deja applique en commun n'est plus edite : on ajoute une nouvelle migration pour corriger. - Pas de
CREATE DATABASE/USEdans les fichiers : la base cible est choisie par le runner. - Le schema suit le MLD v0.2 a la lettre : montants en centimes (INT UNSIGNED),
vat_rateen pour-mille,service_dayNON materialise (calcule applicatif, decision D6), stock signe (survente), journaux append-only (stock_movement,audit_log). - Verification : le DDL a ete applique sur une instance MariaDB 11.4 reelle (21 tables, 28 FK, 22 CHECK) sans erreur avant integration.