【问题标题】:ASP.NET Core Project - Publish doesn't show the "Database Migrations" optionASP.NET Core 项目 - 发布不显示“数据库迁移”选项
【发布时间】:2016-12-06 21:01:24
【问题描述】:

我的项目曾经在 .NET Core 1.0 上完美运行,但迁移到 1.1 让我头疼了好几天!!我一直在使用 Microsoft Azure 进行发布,没有遇到太多问题。

我想我只关心数据库迁移。我已经使用迁移很长一段时间了,但是当我发布时,我没有选择“在发布时应用此迁移”。

我有第二个项目运行良好。当我打开发布屏幕时,一个图标会旋转显示“Discovering Data Contexts...”,然后变为“Entity Framework Migrations”。

但是对于我的生活,我无法让它与我的主要项目一起使用!

什么可能会阻止“实体框架迁移”在发布时出现?

我已经完成了 add-migration Initupdate-database 并且它们在本地工作得很好,但在尝试发布时却不行

我的 ApplicationDbContext.cs 只是一个默认值,可以与其他项目一起使用。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options){
    }

dotnet --info

 .NET Command Line Tools (1.0.0-preview2-1-003177)

当我在本地运行时,我可以删除 SQL 数据库并在我启动时将其放回原处。所以我知道迁移工作正常。我只是无法选择在发布期间显示。

谢谢!!

【问题讨论】:

    标签: c# azure entity-framework asp.net-core-mvc


    【解决方案1】:

    我遇到了同样的问题。不幸的是,我还没有答案

    我没有具体的答案,但我知道这是目前 vs2017 RC 的一个已知问题:https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md#migrations-not-applied-during-publish

    它说要手动应用这些迁移,但由于我使用的是新的项目类型,我无法访问 dotnet ef 命令行工具。

    如果您的项目有可用的命令行工具(您仍在使用 project.json 等),那么我相信有一个 -script 选项可以让您为迁移输出一个脚本,您然后可以在服务器上手动运行。

    我在 efcore github 上提出了一个问题:https://github.com/aspnet/EntityFramework/issues/7276

    【讨论】:

    • 我最终只需要创建一个新项目,并将我的所有代码复制到其中。感谢您的回复和更新!
    • 没问题。我通过在包管理器控制台中使用Script-Migration 工具来使用-Idempotent 标志生成我所有迁移的sql 脚本,然后在Azure 上针对我的服务器运行该sql。
    【解决方案2】:

    我刚刚遇到了这个问题,'Discovering Data Contexts...' 微调器运行了一会儿,然后我没有得到 'Entity Framework Migrations'完全可以选择。

    为我解决的问题是重新创建发布配置文件,如下所示:

    在“发布”屏幕中,按“创建新配置文件”链接:

    然后更改为 Select Existing 选项:

    然后选择您现有的应用服务

    完成此操作后,'Entity Framework Migrations' 部分按预期显示在发布工具的设置中。

    有关信息,重新创建发布文件似乎并未对 .pubmxl 文件进行任何重大更改。唯一的变化是resourcegroups&lt;ResourceId&gt; 设置中更改为resourceGroups&lt;PublishFramework /&gt; 更改为&lt;PublishFramework&gt;&lt;/PublishFramework&gt;。这些似乎都不是问题的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 2021-02-16
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多