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