【问题标题】:Can an Entity Framework migration be run without performing the Seed是否可以在不执行种子的情况下运行实体框架迁移
【发布时间】:2015-10-20 07:23:04
【问题描述】:

我正在为我的应用程序使用实体框架(版本 6.1.3) - Code First。

应用程序托管在 Azure 平台上,并使用 Azure SQL 数据库。

我在两个不同的区域有一个数据库实例,我正在使用同步预览来保持数据同步。

由于同步负责确保数据保持同步,因此当我运行迁移时,我希望架构更改和种子仅在一个数据库中发生,并且架构仅更改(没有种子)在其他。

EF 工具是否可以做到这一点,还是我需要将播种移到手动脚本中?

【问题讨论】:

  • 在您的生产数据库中,您不想运行种子脚本,对吧?
  • 我希望种子只针对一个数据库运行。然后 Sync 可以确保将任何新播种的数据复制到其他数据库。
  • @BrendanGreen,在post查看我的答案
  • 感谢@octavioccl,这几乎概括了当前的功能。

标签: entity-framework entity-framework-migrations


【解决方案1】:

这可以通过分散部署来实现。

如果工作角色 1 更新您的数据库和种子 如果在同步工作者角色 2 连接到您的其他数据库之后,它将看到迁移已经发生。

触发此问题的一种方法是禁用除 1 个辅助角色之外的所有角色的自动迁移。问题是,当您的部分应用程序环境更新/迁移但您的数据库仍在同步时,您可能必须处理停机时间/问题。

(worker角色也可以用webjob、网站等代替)

【讨论】:

  • 我认为这行不通。好吧,它适用于种子数据,但我已将其设置为同步迁移表,因为我需要确保应用架构更改。希望能够针对两个数据库运行迁移,但只在其中一个上执行种子。
猜你喜欢
  • 2013-03-12
  • 1970-01-01
  • 2014-12-19
  • 2019-08-11
  • 2022-01-08
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多