asp.net - 是否有将数据库更新到所需的最新 SSDL 状态的软件包?
问题描述
- 有数千台本地服务器正在运行一个软件的所有不同版本,包括特定版本的数据库(都在不同的公司)
- 从中央开发部门定期推出新版本或推送带有数据库更新的软件(新表、新视图、新外键、枚举或特定表的新插入、新存储过程等)
- 这些更改来自许多不同的开发分支,它们都引入了自己的影响架构的 sql 代码
- 更新客户端是通过 .sql 文件处理的,该文件验证本地安装的最新数据库模式发布版本,并且运行注释为稍后的 sql 代码以将特定物理机更新到更高版本(自动无需用户参与)
现在的一个想法是使用分发的特定程序集的 EF SSDL 描述来将数据库模式(sql server)带到最新版本。它需要比较每个表、列、约束等,以检查它们是否相等,如果不相等,则考虑依赖关系更新它们。
问题:是否有现有的软件包可以做到这一点?因此,例如在启动应用程序时,它会检查现有物理数据库与 SSDL 并自动使它们同步?它必须跳过不在 SSDL 中的数据库对象,因为数据库可能包含由特定客户添加的表或视图,并且不是应用程序所需的数据库对象的一部分,或者当前方法是最好的方法? (这本身是另一种方法,例如 redgate 比较物理数据库)?
(我在这里找到的唯一相关问题是edmgen 验证的目的?比较 SSDL 和数据库模式?)
解决方案
推荐阅读
- javascript - 在javascript中使用for循环创建数组对象
- javascript - 我想在不刷新的情况下更改订阅 div 的内容
- unix - `chmod go-rwx` 和 `chmod 700` 有什么区别
- php - Laravel - 使用 response()->download($fileLocation) 强制下载不起作用
- node.js - 无服务器异步函数错误
- reactjs - 如何在reactjs中使用switch case根据路由路径显示不同的组件
- task - 如何在另一个用户而不是 Build 服务帐户下运行 VSTS 构建或发布任务?
- http - Highcharts 导出服务器设置 Https 服务器
- laravel - 如何停止覆盖 vueJs 中 v-model 的输入值?
- r - 计算另一个数据框中的行数