Musings March 2017 - Project Updates

Hello!

I’m due to sit an exam this week, the excitingly titled “Designing and Implementing Cloud Data Platform Solutions”. Revision is hard going, as my ability to concentrate on reading pretty much anything seems to be less an less potent as I get older. And so by way of a distraction/procrastination, I thought I’d write a brief summary of some of the changes I’ve made to projects in GitHub this month.

AssistDeploy

A couple of changes on this project -

Decimal Data Type

There was a bug where the decimal variable type was not supported when creating a new SSIS Variable. The data types of variables is still incomplete, but the most popular data types are supported. I should add more, but no one is demanding them right now.

Error When Dropping Variables

When publishing variables, AssistDeploy will drop those that are no longer required (ie not stored in the json file). To figure out what these are, a query returns all variables that match by folder, environment and project name. The previous query worked well enough in most cases except when different projects shared the same folder, environment name and variables had the same name. A user of AssistDeploy went and re-wrote the query to work in this scenario. Added bonus is that the query is a lot neater.

dbatools

One thing that bothered me about the function I wrote for dbatools to publish a dacpac was that there was no option to use a different version of the dac dll other than what was packaged up with dbatools. This is perhaps not an issue for most databases out there, but it may be for some. Plus the onus is on the dbatools team to police the version of the dac dll. So it made infinite more sense to add an optional parameter to pass in a location to the dac dll that could be used ot deploy.

RunSyncRun

So this module will eventually find its way into dbatools, but for the moment it’s sat outside in my repo. Basically it makes use of the syncronisation feature in Analysis Services. The main function is “Invoke-DatabaseSync”. Erm, I really should write something in the readme.

An Awesome GitHub Project

Someone sent me a link to a project on GitHub that will enable you to build a .dtproj project into an ispac without the need for Viaul Studio to be installed/called via the cmdline. I’m guessing (as I;ve not looked into it in depth) that it uses the Zip Package Class to create an ispac, as essentially an ispac is just a zip file. At any rate the fact that you don’t need to use Visual Studio or any other dodgy project on GitHub is a big plus!