web-dev-qa-db-ja.com

他のいくつかのスクリプトを参照するVS2012展開後スクリプト

VS2012にデータベースプロジェクトを作成しました。データベース構造を追加しました。データベースの公開と比較に問題なく機能します。

次に、公開時に、デフォルトのデータを含む複数のテーブルを自動的にロードします。

SQL Management Studioから生成されたINSERTステートメントで5つのスクリプトファイルを作成しました。データベースプロジェクトのScriptフォルダーに追加されました。

次に、BuildAction=PostDeployを設定します。これは正常に機能します。しかし、何らかの理由から、1つのスクリプトをPostDeploy ...に設定することしかできません。

すべてのスクリプトを1つのファイルに移動できることに気付きました。しかし、私はたくさんあり、いくつかの順序を維持するためにそれらを別々のファイルにグループ化したいと本当に思っています。

次に、1つの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

ファイルは間違った構文について不平を言っています。

40
Jakob Lithner

Visual Studioが間違った構文警告で私をだましたことがわかりました!私のセットアップは完全に有効でした。

警告を回避するには、ファイル内の任意の場所を右クリックして、「実行設定-SQLCMDモード」を選択します。

同じことを行うSQLCMDモードというツールバーボタンもあります。

ツールバーボタンが見つからない場合のメニュー項目は次のとおりです。 enter image description here

81
Jakob Lithner