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
ファイルは間違った構文について不平を言っています。
Visual Studioが間違った構文警告で私をだましたことがわかりました!私のセットアップは完全に有効でした。
警告を回避するには、ファイル内の任意の場所を右クリックして、「実行設定-SQLCMDモード」を選択します。
同じことを行うSQLCMDモードというツールバーボタンもあります。
ツールバーボタンが見つからない場合のメニュー項目は次のとおりです。