sql - VS2012 部署后脚本引用了其他几个脚本

标签 sql visual-studio-2012 database-project

我在VS2012中创建了一个数据库项目。我添加了数据库结构。发布和比较数据库效果很好。

现在在发布时我想自动加载几个带有默认数据的表。

我使用 SQL Management Studio 生成的 INSERT 语句创建了五个脚本文件。它们被添加到我的数据库项目中的脚本文件夹中。

然后我设置了BuildAction=PostDeploy。这很好用。但由于某种原因,只能将一个脚本设置为 PostDeploy ....

我意识到我可以将所有脚本移至一个文件中。但我有很多,并且真的很想将它们分组在单独的文件中以维持某种顺序。

然后,我创建了一个 PostDeploy.sql 文件,并尝试从该文件引用所有其他脚本文件。文件头给出了指示:

Post-Deployment Script Template                         
----------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example:      :r .\myfile.sql

所以我写我的文件:

:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\MyScript3.sql
:r .\MyScript4.sql
:r .\MyScript5.sql

该文件提示语法错误。

最佳答案

事实证明,Visual Studio 用错误的语法警告愚弄了我!我的设置完全有效。

为了避免警告,右键单击文件内的任意位置并选择“执行设置 - SQLCMD 模式”。

还有一个名为 SQLCMD 模式的工具栏按钮可以执行相同的操作。

以下是菜单项,以防您找不到工具栏按钮: enter image description here

关于sql - VS2012 部署后脚本引用了其他几个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787667/

相关文章:

MySQL AND 运算符?

c++ - 如何将值列表传递给需要数组的函数?

visual-studio-2010 - 在新的 Visual Studio 2010 SQL Server 项目类型中,.dbproj.schemaview 文件的用途是什么?

.net - 我的针对多个目标框架的构建脚本是否正常工作?

c# - 命中断点时执行代码?

数据库项目 VS 2012 跳过发布安全

msbuild - 在 MSBuild 中使用 PublishProfile 进行数据库项目

sql - MySQL双查询情况

.net - 如何使用 FluentMigrator 设置 ROWVERSION/TIMESTAMP 数据类型列?

sql group by date给出错误的结果