I am trying to achieve following workflow using command line:
- Build the project using specific variables overriding via command line (for example I have $(buildVersion) variable in publish config that has some value. I would like to override the $(buildVersion) by entered value command line. The output of this step is dacpac file
- Generate the publish script based on the generated dacpac file and the actual database
I tried to use both SqlPackage.exe and MSBuild.exe tools. However I can't get desired effect as:
- I can't find the way how to build project with SqlPackage
- I can't find the way how to pass variables to MSBuild
What I can now:
- I can build the project using MSBuild
- I can generate the publish script with SqlPackage
The stuff in a publish profile for a database project doesn't affect the build step where the
dacpac
is created, after all you can have as many publish profiles as you like for a single project.When generating the publish script with
sqlpackage.exe
, you can pass variables likesqlpackage.exe /action:script /sourcefile:mydacpac.dacpac /v:BuildNumber=xyz