我们有一个生产数据库,其中包含在我们网站上显示的文本。 我们还有具有多个分支的开发服务器(生产数据库的多个副本)。
我们遇到的问题是,在开发过程中,我们在每个分支中添加和更改文本。我们还在生产环境中更改文本。
如果开发和生产改变了相同的文本,很难找到我们如何合并这些更改。
我们想到的是我们只能对生产数据库进行更改,只在开发数据库上添加文本。但这会给我们许多带有不同键的文本,这些键具有几乎相同的数据。
如何处理环境之间的文本更改?
谢谢!
答案 0 :(得分:1)
这是一个相当普遍的问题 - 马丁福勒不久前写过这篇文章(http://martinfowler.com/articles/evodb.html)。 这不是一个好的,简单的,无痛的解决方案 - 但是http://www.amazon.com/Recipes-Continuous-Database-Integration-ebook/dp/B000RH0EI4可能是关于这个主题的最好的书....
这是一项相当重要的工作,并且需要您的开发团队的大量纪律 - 但如果遇到您描述的问题,这是值得的。
归结为编写数据库创建/修改任务的脚本,并将这些脚本提交给源代码控制。您可以使用命名约定来确定运行脚本的顺序,然后在设置环境或将新版本部署到该环境时使用自动过程来运行它们。