适用于 SQL Server 2008 的 Visual Studio 2008 数据库项目
该项目具有预部署和部署后 SQL 脚本的占位符。他们工作 - 好吧,大部分时间反正。
该项目有一个 Always-Recreate-Database 选项:删除现有数据库并每次创建一个新的 hot-from-the-oven 数据库。
当我部署我的数据库时,整个 SQL 脚本被放在一起并执行。
我的数据库用于复制,作为 Post-Deployment 脚本的一部分,我将服务器指定为分发,创建复制并向其中添加文章。
因此,我必须关闭复制。把它放在预部署中是合乎逻辑的。
VS2008 很快就抹去了我脸上得意的笑容。如果选中 Always-Recreate-Database,则它会放置脚本以删除并重新创建数据库,然后放置我的 Pre-Deployment 脚本,然后是其他所有内容。
我有什么办法可以更改数据库项目的模板,以便在任何部署发生之前执行预部署 SQL 脚本在它们要执行的地方执行。