Skip to content

Update a Database Project within the GitHub website

Reading Time: 5 minutes

In this post I want to cover a couple of ways you can update a Database Project within the GitHub website. Because both ways can be useful.

I know most of the time files are updated using development tools on your own computer. However, it can be useful to know how you can update files within GitHub.

In fact, this post is one of the reasons why I made public a GitHub repository for a single Azure SQL Database deployment called GitHub-AzureSQLDatabase. So that you can clone it and use it with this post.

GitHub repository for Azure SQL Database template
GitHub repository for Azure SQL Database template

In addition, I updated my post about how to deploy to Azure SQL Database using GitHub Actions as well. So that it too has the link to this GitHub repository.

By the end of this post, you will know a couple of ways to update your Database Projects within GitHub. Along with advantages for doing both.

Note that this post is based on a SQL Server Database Project that uses state-based deployment. In reality, topics in this post also applies to other types of Database Projects that can be stored as code. As well as other deployment methods.

Before we start there is one other thing I would like to note. In these examples I show doing updates to the main branch to keep the demos simple. In the real world you should use a good branching strategy.

Introducing the web-based editor within GitHub

Let’s start with the web-based editor since it’s the newest method. Because I think it’s a really good way to update the repository.

It’s currently in beta preview and it is free for everyone to use in GitHub. I like to think of it as a taster for Codespaces.

How does it work? Well, one simple way to access it is to press the period button (.) whilst in a GitHub repository. Which is also known as a full stop to some. If you are quick, you will see the below sign whilst it is loading up.

Setting up your web editor screen in GitHub
Setting up your web editor screen in GitHub

Once loaded you will see the contents of your repository appear in a web-based version of Visual Studio Code.

Web-based editor that you open up within the GitHub website with a database Project opened
Web-based editor

In reality, this layout will be familiar to some of you. Because it’s a cloud-based version of Visual Studio Code. You can see this for yourself if you go into the menu on the left-hand side and select ‘About’.

About screen in the web-based editor
About screen

Using this web-based editor allows you to work on a lightweight development area in the cloud. It can be very useful if you cannot setup a development environment locally to update your Database Project.

For those of you who have use GitHub Team or GitHub Enterprise Cloud this is similar to the initial look and feel of Codespaces. However, there are some significant differences.

You can read the official GitHub documentation to see the differences between Codespaces and the web-based editor.

In addition, GitHub documentation shows other ways that you can open the web-based editor.

Viewing Database Project on Android

I can also confirm that it loads up if you use Chrome on an Android phone as well. If you use another OS on your phone, feel free to leave a comment if that also works.

Another key point is that you can use this for GitHub repositories which are used as a source for Azure Pipelines within Azure DevOps.

Update Database Projects in the web-based editor

Once opened up you can edit a file within the Database Project. For example, as you can see below, I’ve updated the schema for a table and the change to the Database Project has been recognized by source control.

Updating a Database project using the GitHub web-based editor
Updating a table

From there, I can go into source control and commit my change. As you can see this will be committed directly to my branch in GitHub. This part updates my Database Project within GitHub.

Committing a change to the Database Project within GitHub using the web-based editor
Committing my change

Once I have committed the change it triggers a workflow to run in GitHub Actions. Which updates an Azure SQL Database.

Workflow to update an Azure SQL Database
Start of a workflow

Like I said earlier, this web-based editor is currently in beta and can change in the future. However, it does provide you a familiar way to work with your Database Projects within GitHub.

Editing within the GitHub website

You can still edit files directly in GitHub. By navigating within the code section and selecting the Edit icon. In the below example I have navigated to one of the files for a database table.

Updating a database table in the GitHub website
Updating a database table

Updating a Database Project this way within GitHub can also trigger a workflow to run as well.

One area where this can be very useful is when you are editing workflows. Because it allows you to dynamically search the Marketplace on the right-hand side.

Editing a workflow within the GitHub website
Editing a workflow

Final words about updating a Database Project within the GitHub website

I hope this post about a couple of ways you can update a Database Project within the GitHub website has been an interesting insight. Because both of the above methods have their advantages.

Bear in mind that the web-based editor is in beta and Codespaces is a better option if you have access to it.

Of course, if you have any comments or queries about this post feel free to reach out to me.

Published inAzure SQL DatabaseGitHubGitHub Actions

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *