这可能是一种愚蠢的做事方式,但它是我公司所做的......我们在dev中进行架构更改,我们必须随后使用我们的最新版本进行生产。因此,我们手动打开生产SQL 2008数据库,使用设计器进行相关修改,部署新代码,然后希望最好。有时我们忘记对prod架构进行更改,这显然会导致严重的问题。那么,肯定有更好的方法吗?理想情况下,我们希望有一些免费工具来帮助我们识别和部署架构更改,但我不知道存在这样的事情....
如果有所不同,我们将ASP.NET与VS2010一起使用。
答案 0 :(得分:8)
我提倡upgrade scripts。始终将每个更改部署为升级脚本,而不管是多么轻微。然后,在转向生产时,只需将升级脚本从版本N运行到版本N + 1。有效禁止所有“可视化”数据库设计/管理工具。
在这方面有各种各样的努力,代码首先是ORM,database GDR project,diff based部署等等。就个人而言,从长远来看,我发现显式升级脚本是一个更好的选择。
答案 1 :(得分:0)
答案 2 :(得分:0)
我相信Team Foundation Server可以通过每个构建来存储和发布数据库架构更改。除此之外,我同意Remus Rusanu。所有更改都必须编写脚本并放在随每个版本的应用程序发布的版本脚本中。