Quickly deploying procedure/functions from SSDT (Bypass Publish)

SSDT is great but one thing that is not so great is the performance of the publish. I am not complaining, I understand it does a lot and is well worth the wait when publishing however, when you are writing and testing code having this process really kills productivity:

  • 1. Write code
  • 2. Build projects
  • 3. Publish projects
  • 4. Wait for publish to complete
  • 5. Check publish messages for errors
  • 6. Test your changes

If you develop like that you will be very slow so instead I have added a “Quick Deploy” to SSDT - it is nothing new, I had one before and Dave Ballyntyne had one (http://dataidol.com/davebally/2014/03/01/ssdt-fast-deploy/) but I wanted to do a couple of things to mine, firstly add it to the SSDT-DevPack (whoop whoop) and secondly make it so you do not have to save the file to deploy any changes so it uses the Visual Studio API's to get the contents of the current document and deploy that to a database.

What this is not

It is not a deployment system for dacpacs or SSDT projects, it is purely to deploy table valued functions and procedures quickly by bypassing the SSDT build system. If you use this, when you are happy with your changes you should absolutely 100 percent build, publish and test the published work as because this is a really simple way to bypass the build system but there is no error validation etc.

How do I use it?

Open a document with a table valued function or procedure, click tools–> SSDT Dev Pack –> QuickDeploy or use the keyboard options in SSDT to make Tools.QuickDeploy to a key combination (I use Ctrl+Q, Ctrl+D but it is a little awkward) and your code will be deployed, any messages are added to the standard output window.

If the active document has anything other than stored procedures or table valued functions then they will not be deployed and also if you have more than one procedure of function, all of them in the active document will be deployed.

Where do I get it?

As always see https://the.agilesql.club/Projects/SSDT-Dev-Pack for how to download it