我需要实现升级数据库
我在代码库代码中使用了redgate,并知道如何生成比较数据和模式
这很好用,但是我的经理告诉我他认为最好在办公室生成一次delta脚本,并将数据库的版本保存在数据库中,并且当在字段中进行更新时,将从版本切换语句a到b运行特定脚本
他说这是更具有说服力的approch,因为他不知道脚本在运行时会产生什么, 我们有一个医疗计划,所以我们不能用错误的数据更新数据库
你熟悉他的approch吗?你会推荐吗?
丹
答案 0 :(得分:1)
我是Red Gate的SQL Compare的产品经理。 SQL Compare将在绝大多数情况下生成可靠的脚本。但是,如果没有先执行以下操作,则不应将更改应用于生产环境: 1)将最近的备份恢复为临时环境,并将脚本应用为测试 2)在运行脚本之前备份生产。
将版本保存在生产目标中是一个合理的想法,因为它允许您在应用其他地方生成的脚本之前查询它。但是,并不能保证目标服务器是它声称的目标服务器。这称为“漂移”,可以在没有更新版本号的情况下对数据库进行临时更改。
Red Gate开发了自己的版本控制机制,使用源代码管理中保存的数据库版本标记目标数据库。您可以在此处详细了解其工作原理: http://www.red-gate.com/supportcenter/content/SQL_Source_Control/help/3.0/SSC_Working_With_Migrations
我们正在努力发展并不断改进数据库的部署方式,如果您有任何反馈,请告诉我们。