我们的visual studio数据库项目中有一个部署后脚本。它使用数据填充查找表。问题是每次我们更改架构并生成更新脚本时,都会将部署后脚本附加到部署脚本的末尾。有没有办法在VS2010中标记特定的部署后脚本只运行一次?
答案 0 :(得分:1)
免责声明:我来自ReadyRoll软件,该软件是数据库部署的商业工具。
您使用的DataDude项目系统和新的SSDT项目都不支持一次性脚本。这些项目本质上是声明这一事实意味着,除非该工具本身支持具有数据的查找表(当前没有),否则只能使用“始终运行”来执行操作“部署后脚本。
如果您尚未使用它,则可以考虑使用MERGE
语句进行查找数据部署,如果您要部署到SQL Server 2008或更高版本。这为您提供了一种填充表格的声明方式,因为您不必在部署之前检查数据是否已经插入。
如果您想尝试仅运行一次每个脚本的项目系统,您可能会考虑使用命令式方法(有时称为迁移)。有很多OSS可以做到这一点,但是你可能会考虑使用ReadyRoll,因为它与Visual Studio集成: http://ready-roll.com