2

J'ai créé les modèles de ma base de données sur VS pour Mac et utilisé terminal pour créer des migrations:Base de données de mise à jour avec les migrations CLI sur VS pour Mac (DotNet Core 2)

dotnet ef migrations add IntitialMigration 

Ensuite, je mis à jour ma base de données:

dotnet ef database update 

Mais après avoir changé mes modèles et j'ai créé une autre migration:

dotnet ef migrations add SecondMigration 

et a essayé de updat e la base de données:

dotnet ef database update SecondMigration 

J'ai reçu l'erreur suivante:

There is already an object named 'Emails' in the database.

Je l'ai cherché et je l'ai trouvé une solution probablement:

Add-Migration SecondMigration -IgnoreChanges 

Mais cela ne fonctionne que sous Windows à PMC . J'utilise VS pour Mac et toutes les commandes sont tapées sur Terminal. Est-ce que quelqu'un sait comment mettre à jour une base de données en utilisant Migrations après avoir changé les modèles?

Répondre

0

J'ai trouvé la solution. Il semble que sur VS 2017 pour Windows, lorsque vous ajoutez une migration, elle est automatiquement ajoutée à la solution. Mais, sur VS pour Mac, cela n'arrive pas. Vous devez ajouter manuellement chaque nouvelle migration à la solution. J'ai créé la migration InitialMigration et la mettre à jour dans la base de données. Pour une raison quelconque, je ne sais pas pourquoi, j'ai supprimé la migration de la solution et j'ai créé la nouvelle migration de SecondMigration. C'est la raison pour laquelle toutes les tables qui étaient sur InitialMigration étaient aussi sur SecondMigration.