Shared SSDT Deployment Contributor Repository and Free Help

One of the best features of SSDT is deployment contributors. They are so exciting I am going to say it again with more gusto. One of the best features of SSDT is deployment contributors.

What these do is let you examine or modify the deployment script that is generated when SSDT compares a project to a database.

why is that cool?

Please imagine for a minute a scenario where you have used SSDT to generate a deployment script and you have looked at it and scoffed that you could have written a better upgrade script. Perhaps you have seen that it has done a table migration and uses a single insert to move all the rows from one table to the next. You have looked up from your script, gazed out of the window and dreamed of a world where instead of a single insert the insert happened in batches. You throw down your script, grab your keyboard from your desk and manually write the upgrade script. A few days later you need to do the same thing so again gaze out of the window dreaming of a batched insert script at which point you grab your keyboard and bash out another script.

Instead of wasting your time writing the same script over and over again you could write a deployment contributor which would enumerate all the steps in a deployment plan. When you find a table migration you could modify it so that it does a batched insert rather than a single insert and use the deployment contributor each time a script is generated. You can now dream of new and exciting modifications you could make to the standard deploy scripts.

Get.To.The.Point.Com

I have created a new github repo specifically for deployment contributors as if someone writes a contributor like I just mentioned I could see other people using it:

https://github.com/DacFxDeploymentContributors/Contributors

I have also added a gitter chat room to help people write contributors or use existing ones:

https://gitter.im/DacFxDeploymentContributors/Contributors

If you have a contributor you would like to commit please submit a pull request or contact me and I can do it for you.

If you want any help writing a contributor I would be pleased to help to get you started and point you in the right direction.