J'utilise EF 6.0 pour mon projet en C # avec des migrations manuelles et des mises à jour. J'ai environ 5 migrations sur la base de données, mais j'ai réalisé que la dernière migration était mauvaise et je ne la veux pas. Je sais que je peux revenir à une migration précédente, mais lorsque j'ajoute une nouvelle migration (fixe) et que j'exécute Update-Database, même la mauvaise migration est appliquée.
J'essayais de revenir à la migration précédente et de supprimer le fichier avec une mauvaise migration. Mais ensuite, lorsque j'essaie d'ajouter une nouvelle migration, j'obtiens une erreur lors de la mise à jour de la base de données, car le fichier de migration est corrompu (plus précisément, la première ligne de code renomme la table A en B et les lignes suivantes, EF essaie de mettre à jour la table avec nom A - c'est peut-être un bug EF).
Y a-t-il une requête que je peux exécuter, qui dirait à EF quelque chose comme "Oubliez la dernière migration comme elle n'a jamais existé, c'était mauvais"? Quelque chose comme Remove-Migration.
Edit1
J'ai trouvé la solution qui me convenait. Changement du modèle en bon état et exécution Add-Migration TheBadMigration -Force
. Cela rééchafaudera la dernière migration non appliquée.
Quoi qu'il en soit, cela ne répond toujours pas complètement à la question initiale. Si je mets à jour la base de données vers la mauvaise migration, je n'ai pas trouvé de bon moyen de revenir en arrière et de créer une nouvelle migration, à l'exclusion de la mauvaise.
Merci