🏛️ Module 49
4

Migrer vers DB-First sans interruption : les quatre phases opérationnelles

Leçon 4 / 5 — 2h

« L'architecture est la volonté d'une époque traduite dans l'espace. »

L

Ludwig Mies van der Rohe

L'Architecte · 1886-1969

Le principe de réversibilité comme filet de sécurité

Le chantier S.O.A.P. s'est déroulé en quatre phases sur deux semaines. À chaque étape, la règle absolue était la réversibilité : si la phase suivante révèle un problème, le retour en arrière doit être possible en moins de dix minutes. Cette contrainte n'est pas un luxe — c'est ce qui rend l'audace possible quand on opère en production sans filet.

Voici le séquençage opérationnel que vous pouvez adapter à votre propre contexte :

  • Phase 1 — Inventaire et cartographie : lister exhaustivement tous les fichiers qui stockent des données métier (agents, workflows, configurations, profils). Pour CodeMyShop : 30 fichiers .md d'agents, 11 workflows, 47 scripts publish_*.py. Aucune suppression à ce stade — uniquement observation.
  • Phase 2 — Migration des données : créer les tables ps_ac_* correspondantes et migrer le contenu des fichiers vers la base. Les fichiers restent en place comme fallback le temps de valider que la lecture DB fonctionne en production.
  • Phase 3 — Bascule du code : modifier les points de lecture (API, utils, scripts) pour consommer la base plutôt que les fichiers. Déployer progressivement, composant par composant. Valider en production avant de passer au suivant.
  • Phase 4 — Suppression : une fois la validation complète sur l'ensemble des composants, supprimer les fichiers devenus obsolètes. C'est cette phase qui a produit le commit 113 files changed, 20349 deletions.

Les outils techniques du chantier

Chaque table ps_ac_* est créée par un module PrestaShop via son sql/install.sql — jamais par du SQL brut. Toute modification de schéma passe par un upgrade hook versionné. Cette discipline garantit que l'état de la base est toujours reconstructible depuis le code du module, sans intervention manuelle sur le serveur.

Pour les scripts Python, le pattern Facade a remplacé la prolifération de publish_*.py one-shot : un point d'entrée unique par domaine (ac_publisher_engine.py), paramétré par des enregistrements en base plutôt que par des fichiers de configuration.

A retenir : Commencez votre <a href="/dictionnaire/migration" title="Définition : Migration" class="dict-link">migration</a> par un seul composant non critique : identifiez un fichier de configuration qui pourrait devenir une ligne en base, créez la table, migrez, validez — puis passez au suivant.

Questions & Réponses

Une question sur cette leçon ? L'IA répond automatiquement.

Vos questions et les réponses IA sont publiques. Votre email reste privé.

Avis vérifiés

Nos clients parlent de nous

5.0 / 5

33 avis clients

Nous travaillons avec Alexandre depuis quelques mois et sommes ravis de son a

Nous travaillons avec Alexandre depuis quelques mois et sommes ravis de son accompagnement. Alexandre comprend parfaitement les enjeux et problématiques liés à notre activité et parvient, en réponse, à nous apporter des solutions techniques et fonctionnelles en respectant coûts et délais.

Office

MONOGRAM

Malt

La résolution de mes problèmes à été rapide et efficace, je recommande :)

La résolution de mes problèmes à été rapide et efficace, je recommande :).

Marine

MES-Distribution

Malt

Super

Super

Jl

Kaigan

Malt

Au Top

Au Top. tout simplement

Elite Cbd

Canna Elite Europe Ltd

Malt

Configuration d''un VPS et migration réalisée avec succès, bons conseils, dia

Configuration d'un VPS et migration réalisée avec succès, bons conseils, diagnostique rapide et efficace de nos problèmes. Je recommande.

Lorie

GRIIN outdoor

Malt

Toujours aussi clair et clairvoyant

Toujours aussi clair et clairvoyant... ;) Un plaisir de travailler avec Alexandre

Elite Cbd

Canna Elite Europe Ltd

Malt