Comment gérer les migrations en production sans downtime ?

Posée 1 month ago 484 vues Résolue
Laravel CI mascot
3
Adjoua Koffi
Adjoua Koffi
1 month 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
1 month 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
1 month ago

Votre réponse

Vous devez être connecté pour répondre.

Se connecter avec GitHub