====== 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