首页 > 解决方案 > 保持数据库同步 ef core

问题描述

我已经阅读了多篇关于此的帖子,但还没有明确的答案。我们正在全公司范围内过渡到 EF Core 2.0,一次一个项目。

挑战是这样的:

  1. 一个新项目启动,并首先使用代码、迁移等创建数据库。
  2. 另一个程序员需要创建一个针对同一数据库的项目。
  3. 该程序员可以使用 Scaffold-DbContext 并生成当前模型。
  4. 但是,需要一个新列,第二个程序员添加了它。

现在......我们如何最好地更新其他项目?是否有一些东西可以检查和同步或显示模型和数据库之间不同步的内容?意思是检查数据库的变化......不是模型。

如果这是最好的解决方案,我们不介意购买工具。

标签: entity-framework-coreentity-framework-core-migrations

解决方案


我们一直在使用的解决方案,非常成功的是 Visual Studio 中的数据库项目。

使用每个开发人员在他们的解决方案中都有项目,可以在本地对其进行更改。然后我们可以在 VS 内部进行“架构比较”。

在过去的三周里,我们 4 人一直在成功地使用它,几乎没有任何问题。

这甚至可以使我们的存储过程的版本和更改保持最新。它也适用于 VSTS。

以下是我读过的一些有助于我理解它的帖子:

https://www.sqlchick.com/entries/2016/1/10/why-you-should-use-a-ssdt-database-project-for-your-data-warehouse

https://weblogs.asp.net/gunnarpeipman/using-visual-studio-database-projects-in-real-life

..这个论坛有很多相关的问题/答案: https ://social.msdn.microsoft.com/Forums/sqlserver/en-us/home?forum=ssdt


推荐阅读