Étendre avant de basculer
Commencez par des changements additifs : colonne nullable, nouvelle table ou index créé avec la méthode en ligne prise en charge par la base. Déployez un code compatible avec les deux schémas avant d’exiger le nouveau champ.
Remplissez les lignes existantes par lots limités, surveillez la charge et rendez le traitement reprenable. Évitez une transaction unique qui garde des verrous longtemps ou provoque un pic de retard de réplication.
Retirer après vérification
Quand toutes les instances utilisent la nouvelle structure, vérifiez la cohérence et surveillez les erreurs avant de supprimer anciennes colonnes ou contraintes. Gardez une période de compatibilité suffisante pour les tâches différées et les retours arrière.
Testez sur un volume proche de la production et définissez une récupération. Revenir au code précédent n’annule pas toujours une migration destructive ; conserver les anciennes données ou appliquer une correction en avant peut être plus sûr.