I have created a database project in VS2012
. I added database structure. It works fine to publish and compare database.
Now on publish I want to automatically load several tables with default data.
I created five script files with INSERT
statements generated from SQL Management Studio. They were added to a Script folder in my database project.
Then I set BuildAction=PostDeploy
. This works fine. BUT from some reason it is only possible to have ONE script set to PostDeploy
....
I realize I can move all scripts into one file. But I have a lot and would really like to group them in separate files to maintain some order.
I then created one PostDeploy.sql
file and tried to reference all other script files from there. The file header gives directions:
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
So I write my file:
:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\MyScript3.sql
:r .\MyScript4.sql
:r .\MyScript5.sql
The file complains on wrong syntax.