我是一名构建工程师,负责我们的源代码控制布局。我们需要保留所有数据库对象的版本,并将更改与滚动脚本组合在一起以推送到生产环境。我们有开发,QA和生产环境,每个环境中都有不同版本的数据库对象。我们遇到麻烦的一个方面是表创建vs改变。开发人员将检入更改,但要重新创建我们需要创建的数据库。任何想法都将不胜感激。
答案 0 :(得分:3)
我是http://www.liquibase.org/的粉丝。它允许您跟踪数据库的版本,包括“更新”和“回滚”您的架构/数据的能力。
他们有一个很好的XML语法,支持常见的重构,包括http://databaserefactoring.com/
中详述的重构他们还有Eclipse插件来帮助创建更改脚本,以及用于集成到构建中的ant任务。
我唯一的抱怨是它是基于Java的,我喜欢在.NET项目的构建服务器上安装java。在那种情况下,我听到了关于http://code.google.com/p/migratordotnet/的好消息。
答案 1 :(得分:1)
您应该了解一下像rails这样的框架如何处理迁移
http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations
答案 2 :(得分:0)