Table des matières

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