Un déploiement peut exécuter plusieurs versions d’application à la fois. Renommer ou supprimer un champ de base de données dans la même version peut interrompre un processus plus ancien qui l'attend toujours.

Développez, migrez, puis contractez

  • Ajoutez le nouveau champ ou la nouvelle table sans supprimer l'ancienne structure.
  • Déployez du code capable de lire les données existantes et d'écrire la nouvelle représentation.
  • Remplissez par lots délimités, vérifiez les résultats, puis basculez les lectures vers le nouveau champ.

Supprimer l'ancien contrat plus tard

Une fois que toutes les versions de l'application et les travailleurs en arrière-plan ont été déplacés, arrêtez d'écrire l'ancien champ et observez le système. Supprimez-le lors d'une migration distincte avec un plan de récupération testé.

Les remblayages importants nécessitent des progrès, des limites de débit et un moyen de reprendre. Tester le comportement de migration sur un volume de données réaliste ; une migration qui fonctionne sur une petite base de données de développement peut verrouiller une table de production occupée.