首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在生产环境中混合自动迁移和显式迁移

在生产环境中混合自动迁移和显式迁移
EN

Stack Overflow用户
提问于 2015-05-17 08:33:50
回答 1查看 679关注 0票数 0

我见过this question,我想知道如何将自动迁移与显式迁移混合应用到生产环境中。

假设我按以下顺序创建迁移:

  • 显式迁移A
  • 显式迁移B
  • 自动迁移C
  • 显式迁移D

既然没有为自动迁移创建任何文件,那么如何确保将在生产环境上创建的自动迁移SQL与在我们的开发机器上创建的SQL相同?

我有一种感觉,一旦我们有了第一个版本,我们就应该完全停止使用自动迁移.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-17 16:06:01

我曾经尝试过这样的场景,并给出了您的迁移顺序,这就是EF的行为方式:

  1. 当您将所有应用于数据库的应用程序都应用到数据库并执行Update-Database -TargetMigration:0时,它们都将以与应用程序相同的顺序被恢复。
  2. 在执行Update-Database之后,所有显式迁移都将应用到数据库中,并且如果您已经设置了AutomaticMigrationsEnabled = true;,则将应用[Timestamp]_[YourLastMigrationName]_AutomaticMigration

请注意,EF处理自动迁移的执行顺序!我认为,当我在自动迁移中创建一个新的表XY时,会出现问题,下面的Explicit Migration D可以依赖该表在数据库中(以及许多其他场景)。但是由于迁移中有数据库的快照,EF将能够从这种情况中恢复,并以某种方式重新安排自动迁移。

最后,如果不深入了解实体框架的代码,我就不推荐这样的方法--不会碰运气的。在我的项目中,我只使用显式迁移,它是在中维护的--通常是主分支或迭代分支,只有(因为有一个团队成员在A之上创建了迁移B,而另一个成员在A之上创建了C)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30284935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档