5

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

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

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

    编辑

  5. 开源

4

2 回答 2

7

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

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

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

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

http://dbup.github.com

于 2012-12-19T15:25:31.087 回答
5

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

替代文字

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

于 2009-12-23T21:54:43.693 回答