====== Migration de DB avec EF6 (Entity Framework et MS SQL) ====== https://docs.microsoft.com/fr-fr/ef/ef6/modeling/code-first/migrations/index ===== Initialiser le moteur de migration dans un projet ===== Dans la console d'ajout de paquets de Visual Studio exécuter la commande suivante: enable-migrations S'il y a plusieurs contextes (DB) dans l'application : enable-migrations -ContextTypeName MyAppContext ===== Modifier la structure d'une table (code first) ===== Changer la structure du modèle, par exemple en ajoutant un attribut, puis exécuter la commande suivante: add-migration NomDeMaGrigation Cela aura pour effet de créer une nouvelle migration dont un fichier .cs qui contient les commandes à exécuter pour faire les modifications nécessaire à la mise en place de la nouvelle structure de la table. Il arrive parfois que le système automatique ne fonctionne pas de manière optimale et qu'il faille faire soi-même certaines modifications. :!: Vérifier les ''cascadeDelete: true'' dans le code généré automatiquement. :!: Vérifier que les clés étrangères sont correctement prises en compte (il y a parfois une duplication de certains attributs !) ===== Prendre en compte les migrations dans la DB ===== update-database ===== Se rendre à une migration spécifique (plutôt qu'à la dernière en date) ===== Il est également possible de revenir à une migration spécifique. Cela va annuler les effets des migrations plus récentes. update-database –TargetMigration: NomDeMaGrigation ===== Connaître les migrations appliquées à la base de donnée ===== Get-Migrations