Comment gérer les migrations en production sans downtime ?

Posée 3 hours ago 479 vues Résolue
Laravel CI mascot
3
Adjoua Koffi
Adjoua Koffi
3 hours ago

2 Réponses

Solution acceptée
6

Utilise ALGORITHM=INSTANT pour MySQL 8 — beaucoup d'opérations (ajout de colonne, valeur par défaut) sont instantanées. Pour les opérations non-INSTANT, utilise gh-ost ou pt-online-schema-change qui copient la table en arrière-plan.

Aya Ouédraogo
Aya Ouédraogo
3 hours ago
11

Une autre stratégie : utilise des migrations en plusieurs étapes. D'abord ajoute la colonne nullable (INSTANT), puis backfill les données, puis ajoute la contrainte NOT NULL si nécessaire.

Konan Gbagbo
Konan Gbagbo
3 hours ago

Votre réponse

Vous devez être connecté pour répondre.

Se connecter avec GitHub