如何限制后期部署脚本在Visual Studio数据库项目中仅运行一次

时间:2012-10-05 03:58:04

标签: .net visual-studio-2010 database-project database-deployment schema-compare

我们的visual studio数据库项目中有一个部署后脚本。它使用数据填充查找表。问题是每次我们更改架构并生成更新脚本时,都会将部署后脚本附加到部署脚本的末尾。有没有办法在VS2010中标记特定的部署后脚本只运行一次?

1 个答案:

答案 0 :(得分:1)

免责声明:我来自ReadyRoll软件,该软件是数据库部署的商业工具。

您使用的DataDude项目系统和新的SSDT项目都不支持一次性脚本。这些项目本质上是声明这一事实意味着,除非该工具本身支持具有数据的查找表(当前没有),否则只能使用“始终运行”来执行操作“部署后脚本。

如果您尚未使用它,则可以考虑使用MERGE语句进行查找数据部署,如果您要部署到SQL Server 2008或更高版本。这为您提供了一种填充表格的声明方式,因为您不必在部署之前检查数据是否已经插入。

如果您想尝试仅运行一次每个脚本的项目系统,您可能会考虑使用命令式方法(有时称为迁移)。有很多OSS可以做到这一点,但是你可能会考虑使用ReadyRoll,因为它与Visual Studio集成: http://ready-roll.com