1
  • 有数千台本地服务器正在运行一个软件的所有不同版本,包括特定版本的数据库(都在不同的公司)
  • 从中央开发部门定期推出新版本或推送带有数据库更新的软件(新表、新视图、新外键、枚举或特定表的新插入、新存储过程等)
  • 这些更改来自许多不同的开发分支,它们都引入了自己的影响架构的 sql 代码
  • 更新客户端是通过 .sql 文件处理的,该文件验证本地安装的最新数据库模式发布版本,并且运行注释为稍后的 sql 代码以将特定物理机更新到更高版本(自动无需用户参与)

现在的一个想法是使用分发的特定程序集的 EF SSDL 描述来将数据库模式(sql server)带到最新版本。它需要比较每个表、列、约束等,以检查它们是否相等,如果不相等,则考虑依赖关系更新它们。

问题:是否有现有的软件包可以做到这一点?因此,例如在启动应用程序时,它会检查现有物理数据库与 SSDL 并自动使它们同步?它必须跳过不在 SSDL 中的数据库对象,因为数据库可能包含由特定客户添加的表或视图,并且不是应用程序所需的数据库对象的一部分,或者当前方法是最好的方法? (这本身是另一种方法,例如 redgate 比较物理数据库)?

(我在这里找到的唯一相关问题是edmgen 验证的目的?比较 SSDL 和数据库模式?

4

0 回答 0