【问题标题】:Update Database with Migrations CLI on VS for Mac (DotNet Core 2)在 VS for Mac (DotNet Core 2) 上使用迁移 CLI 更新数据库
【发布时间】:2019-10-10 22:08:36
【问题描述】:

我在 VS for Mac 上创建了我的数据库模型,并使用终端创建迁移:

dotnet ef migrations add IntitialMigration

然后,我更新了我的数据库:

dotnet ef database update

但是在我更改了模型并创建了另一个迁移之后:

dotnet ef migrations add SecondMigration

并尝试更新数据库:

dotnet ef database update SecondMigration

我收到以下错误:

数据库中已经有一个名为“电子邮件”的对象。

我已经搜索过,我找到了一个可能的解决方案:

Add-Migration SecondMigration -IgnoreChanges

但这仅适用于 Windows 上的 PMC。我正在使用 VS for Mac,所有命令都在终端上输入。有人知道如何在更改模型后使用迁移更新数据库吗?

【问题讨论】:

  • 请问您在带有 asp.net core 的 vs for mac 上找到上述问题的解决方案了吗?

标签: database migration .net-core command-line-interface visual-studio-mac


【解决方案1】:

我找到了解决方案。似乎在 VS 2017 for Windows 上,当您添加迁移时,它会自动添加到解决方案中。但是,在 VS for Mac 上,这不会发生。您需要手动将每个新迁移添加到解决方案中。我创建了 InitialMigration 迁移并将其更新到数据库。出于某种原因,我不知道为什么,我从解决方案中删除了迁移,并创建了新的 SecondMigration 迁移。这就是 InitialMigration 上的所有表也都在 SecondMigration 上的原因。

【讨论】:

    【解决方案2】:

    如果您只是运行更新数据库,它也会尝试使用之前的迁移进行更新。 (这就是为什么它抱怨添加已经存在的内容)。通过在命令后添加要运行的迁移的名称,您可以仅为一个迁移运行更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多