Search code examples
visual-studio-2012visual-studio-2013database-projectsql-server-data-tools

VS 2013 Database Project: Post-Deployment scripts to run based off of build configuration


Is there a method/ mechanism available to run a different set of post-deployment scripts in the SSDT-based database project in Visual Studio 2012/ 2013, based off of the build configuration? I would like to pre-populate my data for testing/ continuous integration by deploying with a "Testing" configuration, but naturally don't want to do this for other environments. I can't seem to find a way to conditionally link a post-deployment script to a build configuration, though, and that seems really strange to me.


Solution

  • You can use SQLCMD variables as well to do something similar. If the value == "Test", run one set of values. If not, run something else. I blogged about that here:

    http://schottsql.blogspot.com/2013/05/trick-to-not-run-prepost-sql-on-publish.html

    It's not done on build and the scripts are always included this way, but if that's not an issue it gives you a way to easily write the code to run on various environments easily.