In this post I want to cover some significant updates to an Azure SQL Database repository that I have been doing for one of the public GitHub repositories that I share.
Due to the fact that I have updated the AzureDevOps-AzureSQLDatabase repository. Which contains an example of a SQL Server database project that you can use to perform CI/CD on an Azure SQL Database using Azure DevOps.
It does this by using the popular state-based migration method of creating a dacpac file based on the contents of a database project. From there, the dacpac file can be used to update one or more databases.
I make this available for free within GitHub so that others in the Data Platform community can make use it in their own Azure DevOps environments. To make it easier to adopt YAML pipelines in Azure DevOps.
I want to do a post about the updates done to this repository for a few reasons.
First reason is because my last post was about me speaking at a future event and I wanted to balance things out.
Second reason is due to the fact that last month I published a blog post about keeping good GitHub hygiene for Microsoft Data Platform repositories.
However, after writing that post I realized that my AzureDevOps-AzureSQLDatabase repository in GitHub needed some attention. Mostly due to the fact that I have been focusing more on the Azure Synapse repositories as of late.
Third reason is because the repositories I have shared for Azure SQL Database appear to have become more popular as of late. So I thought I better make the experience of this one a lot better.
Azure SQL Database repository overview
As I mentioned before, this repository contains a template you can use to perform CI/CD on Azure SQL Database using Azure DevOps.
In the AzureDevOpsTemplates subfolder there is a YAML file that you can use as a template in Azure DevOps. Along with some helpful comments to help set things up.
Idea is that you clone (copy) this repository into the Azure Repos service in Azure DevOps. Afterwards, you can open up Azure Pipelines and point to the YAML file. I cover how to do this in a post that shows how to connect a Database Project in Azure Repos to Azure Pipelines.
Before I finish this section, I want to highlight something about the below piece of code. Since somebody reached out and asked about it recently. As you can see, it shows how you can create a dacpac using the sqlproj file within a database project. Which you can do instead of using a solution (sln) file.
steps: - task: VSBuild@1 displayName: 'Build Database Project' inputs: solution: AzureSQLDB.sqlproj configuration: $(configuration)
Doing this can be very useful. Especially if you have multiple database projects within a solution and you want to create dacpac files for individual ones. Instead of for the entire solution.
Azure SQL Database repository updates
Like other repositories I have updated the about section on the site. To keep good GitHub hygiene.
In addition, I have started adding helpful information to the Wiki in this repository. You can access this by clicking on the Wiki section.
It contains some pages that might be familiar to those of you who have looked at wikis in other repositories that I share.
However, I am trying something new with this Wiki. By adding a ‘Recommended resources’ page. Its aim is to provide links to Azure SQL Database resources that can help others.
So far it only lists a handful of sites. Please feel free to suggest other Azure SQL Database resources that you think should be added to the list to help others in the Data Platform community.
In addition, feel free to provide feedback about anything else you think should be added to the wiki.
Final thing that I want to mention is that I have enabled Discussions in this repository as well. So far the only thing in there is an announcement about the repository.
I hope this post about some significant updates to an Azure SQL Database repository helps some of you. Especially those of you who are starting to look to use Azure DevOps or GitHub and want to create deployment pipelines.
I really would appreciate feedback about any of the updates. Plus, if you do find the repository useful, please give it a star in GitHub.
Of course, if you have any comments or queries about this post feel free to reach out to me.