【发布时间】:2018-06-07 12:41:17
【问题描述】:
我已经阅读了多篇关于此的帖子,但还没有一个明确的答案。 我们正在全公司范围内过渡到 EF Core 2.0,一次一个项目。
挑战是这样的:
- 一个新项目启动,并使用代码优先、迁移等创建数据库。
- 另一个程序员需要创建一个针对同一数据库的项目。
- 此程序员可以使用 Scaffold-DbContext 并生成当前模型。
- 但是,需要一个新列,第二个程序员添加了它。
现在...我们如何最好地更新其他项目? 是否有一些东西可以检查和同步或显示模型和数据库之间不同步的内容?意思是检查数据库的变化......不是模型。
如果这是最好的解决方案,我们不介意购买工具。
【问题讨论】:
-
你可以制作一个工具来运行
Add-Migration命令并检查它是否生成非空迁移。如果它生成空迁移,则意味着模型没有变化 -
我认为,如果其他人更改了数据库,这不会发生,不是吗?
-
所以无论谁在更改数据库,他/她也负责在模型中生成更改,否则您必须运行
Scaffold-DbContext。我的建议是不要将代码优先和数据库优先方法混合在一起。如果有必要,然后管理多个数据库 -
这不是一个选项。我们有一个首先使用代码创建的数据库。然后另一个项目需要以该数据库为目标。我的问题有两个:首先,那个人应该手动复制模型吗?其次,无论模型如何到达那里,我们现在都有两个项目使用相同的数据库,并且一个或多个项目将需要进行更改。其他团队如何处理这个问题?
-
没明白你的意思,能不能说的更清楚一点
标签: entity-framework-core entity-framework-core-migrations