需要.NET数据库版本控制脚本运行器

时间:2009-12-23 21:26:26

标签: sql database versioning database-versioning

我正在查看版本控制数据库并且遇到了关于如何执行此操作的常规文章(编码恐怖,代码颂歌等)。这对我来说都很有意义,但是我正在尝试找一个能为我运行sql脚本的脚本运行器。所有这些文章都提到了自动运行它们的内容,但没有人提出任何建议。

有人知道运行这些脚本的任何实用程序吗?理想情况下,以下列方式工作:

  1. 运行事务中的所有内容,因此如果任何单个更新失败,整个事情都会失败
  2. 我可以控制方案版本数据库表的名称
  3. 能够拥有一系列在升级时始终运行的脚本
  4. 可以作为自动任务的一部分运行

    修改

  5. 开源

2 个答案:

答案 0 :(得分:7)

我们在Web项目中使用 DbUp 作为脚本运行器。它简单而漂亮的开源工具可以帮助您使用Console Application方式编写自己的脚本运行器。

  

DbUp是一个.NET库,可帮助您将更改部署到SQL Server   数据库。它跟踪已经运行的SQL脚本并运行   使数据库保持最新所需的更改脚本。

我们可以从文件系统中的文件夹运行脚本,或者您可以将它们嵌入到程序集中并将它们作为嵌入式脚本运行。

您可以在github上的代码库中找到更多信息和示例。

http://dbup.github.com

答案 1 :(得分:5)

查看SSW SQL Deploy - 它似乎可以满足您的所有要求。它跟踪已经执行的脚本,它将一次运行整批脚本,并在多个服务器上运行(如果需要),等等。

alt text

这是一个非常简单但又漂亮的工具 - 强烈推荐!