la manière par laquelle Django propage des modifications que vous apportez à des modèles (ajout d’un champ, suppression d’un modèle, etc.) dans un schéma de base de données. ▸ Elles sont conçues pour être quasiment automatiques, mais vous aurez besoin de savoir quand créer les migrations, quand les exécuter, et les problèmes courants que vous pourriez rencontrer. ▸ L’équivalent existe dans Ruby on Rails et dans Laravel
▸ Aide au peer-review ▸ Facilite les optimisations du temps de migration ▸ Permet de tester les “reverse migrations” ▸ Coverage ▸ S’assure que les migrations vont continuer de fonctionner jusqu’au moment de l’exécution
gestion de l’ordre d’exécution des migrations ▸ Cas non gérés ▸ Méthodes des modèles “clean/save” non appelées ▸ Mauvaise gestion des transactions ▸ Paradox spatio-temporel ?!?
WHICH COULD CAUSE A CHAIN REACTION THAT WOULD UNRAVEL THE VERY FABRIC OF THE SPACE TIME CONTINUUM, AND DESTROY THE ENTIRE UNIVERSE! GRANTED, THAT'S A WORSE CASE SCENARIO. THE DESTRUCTION MIGHT IN FACT BE VERY LOCALIZED, LIMITED TO MERELY OUR OWN GALAXY. PARADOX SPATIO-TEMPOREL ?!?
tout ce qui va changer (Ex: fonction helper qui va changer après la migration) from foo import bar bar(instance) ▸ Éviter d’utiliser ce qui pourrait changer ▸ fixtures ▸ Avoir des tests qui roulent en tout temps jusqu’au déploiement
avec des vraies données ▸ Échouer tôt ▸ Implémenter et tester les reverse migrations ▸ Créer une bulle spatio-temporelle ▸ Enlever les migrations custom ainsi que leurs tests après toutes les migrations des serveurs ▸ Squash migrations