2013-10-15 31 views
1

我们使用TFS(服务,而不是服务器)来管理我们的数据库模式的版本。定期TFS生成一个构建并将其保存在一个放置文件夹中。自动生成数据库模式差异脚本

以下最佳实践(http://martinfowler.com/articles/evodb.html),建议,首先,根据我们自己的经验(和痛苦),我们要自动生成与变化,查了每天/每周差异脚本。

有很多工具(RedGate,Visual Studio,Open Sourece)都有助于完成这项工作,并且我已经尝试了所有工具。但是在所有情况下都需要手动完成。

我们经常,我们可以......但既然是手工它是不是经常因为它应该是必要做的;)

是否有办法来自动(无人值守)做呢?可以在2个构建的部署脚本之间完成?或者在2个数据库之间做?是否也可以自动比较数据?

回答

2

是的,可以自动生成差异脚本。我们已经在我的公司完成了。

我们使用Visual Studio的vsdbcmd命令行工具从构建中生成部署脚本,并稍后使用该脚本在测试服务器中进行部署。我们使用Visual Studio 2010来做到这一点。

+0

默认数据呢?你如何管理默认数据,如邮政编码,字段说明/翻译等。 – Alex

+0

我们使用脚本来做到这一点。我们必须在各个版本之间进行任何类型的数据转换或迁移。在比较架构之前,升级过程首先运行这些手动脚本。 – Szymon