Sér*_*eno 5 database migration command-line-interface .net-core visual-studio-mac
我在VS for Mac上创建了数据库模型,并使用终端进行了迁移:
dotnet ef migrations add IntitialMigration
Run Code Online (Sandbox Code Playgroud)
然后,我更新了数据库:
dotnet ef database update
Run Code Online (Sandbox Code Playgroud)
但是在更改模型并创建另一个迁移之后:
dotnet ef migrations add SecondMigration
Run Code Online (Sandbox Code Playgroud)
并尝试更新数据库:
dotnet ef database update SecondMigration
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
数据库中已经有一个名为“电子邮件”的对象。
我进行了搜索,发现了一个可能的解决方案:
Add-Migration SecondMigration -IgnoreChanges
Run Code Online (Sandbox Code Playgroud)
但这仅适用于Windows上的PMC。我在Mac上使用VS,并且所有命令都在Terminal上键入。有人知道更改模型后如何使用迁移来更新数据库吗?
我找到了解决方案。似乎在 VS 2017 for Windows 上,当您添加迁移时,它会自动添加到解决方案中。但是,在 VS for Mac 上,这种情况不会发生。您需要手动将每个新迁移添加到解决方案中。我创建了 InitialMigration 迁移并将其更新到数据库。由于某种原因,我不知道为什么,我从解决方案中删除了迁移,并创建了新的 SecondMigration 迁移。这就是 InitialMigration 上的所有表也都在 SecondMigration 上的原因。
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |