Dans Net Core 3.0 :
Je n'ai pas réussi à trouver un moyen de Réinitialiser les migrations .
J'ai également rencontré des problèmes avec des migrations cassées, et les réponses fournies ici n'ont pas fonctionné pour moi. J'ai une API Web .Net Core 3.0 et, quelque part au cours du mois dernier, j'ai modifié directement la base de données. Oui, j'ai fait une très mauvaise chose.
Les stratégies suggérées ici ont entraîné un certain nombre d'erreurs dans la console Package Manager :
- Une migration de ce nom existe déjà
- Impossible de trouver le snapshot
- La "force" n'est pas un paramètre reconnu
Il se peut que j'aie oublié une étape ou que je n'aie pas effacé les bons fichiers, mais j'ai découvert qu'il existe des moyens de nettoyer tout cela sans avoir recours à la force brute :
- Remove-Migration à partir du PMC pour chaque migration par nom, dans l'ordre inverse de la création, jusqu'à la migration brisée incluse.
- Add-Migration pour créer une nouvelle migration qui sera le delta entre la dernière bonne migration jusqu'au schéma actuel.
Désormais, lorsque l'API Web est lancée avec une base de données vide, elle crée correctement toutes les tables et propriétés correspondant aux modèles d'entités.
HTH !
1 votes
En rapport : stackoverflow.com/questions/9703810/
3 votes
Une note importante si vous avez plusieurs chaînes de connexion : spécifiez laquelle utiliser lorsque vous réinitialisez les migrations, sinon elle essaiera de s'appliquer aux deux, ce qui peut causer des problèmes en cas de divergences.
0 votes
Remarque : si vous n'aviez pas supprimé vos migrations (vous utilisez le contrôle de version, n'est-ce pas ?), vous auriez pu mettre à jour votre base de données vers votre première migration, puis supprimer l'atténuation et créer de nouvelles migrations à partir de ce point. Voir ici : stackoverflow.com/a/23793384/309634