Pour une raison quelconque, mes migrations semblent avoir été confuses / corrompues / peu importe. J'en suis au point où je veux simplement recommencer, alors existe-t-il un moyen d'annuler complètement toutes les migrations, d'effacer l'historique et de supprimer le code de migration, donc je suis de retour à la case départ?
par exemple) PM> Disable-Migrations
ouRollback-Migrations
Je ne veux pas "mettre à jour" une étape de migration d'origine (c'est-à-dire quelque chose comme une InitialSchema
cible) car je ne peux plus la trouver.
enable-migrations
nouveau. Celles-ci sont évidemment utiles, mais accomplissent-elles ce que le PO demande? (S'il vous plaît ne répondez pas avec "bien, il a accepté la réponse." J'essaie de comprendre cela, pas d'être un smartass).enable-migrations
nouveau et que vous développez une base de données à partir de zéro, il vous suffit de suivre la dernière phrase: supprimer la base de données et tout le code lié à la migration. Si vous avez commencé à utiliser des migrations avec une base de données existante, vous devez d'abord annuler toutes les migrations à l'aide de la deuxième ou de la troisième commande, puis supprimer laMigrationHistory
table et tout le code lié à la migration. Cela devrait vous amener à la position de départ. Vous pouvez également obtenir la base de données de démarrage à partir d'une sauvegarde (avant d'utiliser les migrations) et supprimer tout le code lié à la migration.-TargetMigration:0
Pour Entity Framework Core:
la source
Pour être clair, si vous utilisez LocalDb, lorsque vous souhaitez partir de zéro, supprimez simplement la base de données via l'explorateur de base de données, puis tapez
enable-migrations -force
dans la console du gestionnaire de package. Ne supprimez pas la base de données via le dossier App_Data ou vous rencontrerez le problème suivant .la source
La documentation est ici: https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell#update-database et ici: https://docs.microsoft.com/en-us/ef / core / divers / cli / powershell # remove-migration
la source
Il est mal écrit dans leur documentation je suppose, pour moi j'ai utilisé
la source