Link a database to Git

The guide provides step-by-step instructions to walk you through the process of:

dbForge Source Control is a Microsoft SQL Server Management Studio (SSMS) add-in designed to manage database changes in the best-known version control systems. With the help of the tool, you can version-control database schemas and data, roll back unwanted changes, handle static data conflicts, and maintain the integrity of the database. Via Source Control, you can link your database to Git, a distributed version control system. Git is aimed at coordinating the work of multiple developers and provides non-linear workflow.

When dbForge Source Control connects to a Git repository, is the connection secure? In other words, is TLS enabled?

dbForge Source Control connects to Git using the standard Git client for Windows, which supports current security protocols, including TLS 1.2. Secure connections are established when the server both supports them and requires them. For instance, if a repository’s address begins with HTTPS and the server stipulates TLS, the connection will comply with these security requirements. The choice of security protocol is determined by the server’s configuration, not by dbForge settings.

Note

dbForge Source Control v2.2 and later support Git for Windows client version 2.28.0 and higher. You can check the Git version using the git --version command. Thanks to it, you can work with all possible connection and authentication types, as this task is delegated to the Git client. Before trying to connect your database to Git, make sure that you have Git for Windows client installed on your machine.

See the following how-to topics to learn how to clone a remote repository and link a database to a Git repository in:

Working with a local Git repository

dbForge Source Control doesn’t directly work with local or remote repositories – only through a clone. Therefore, you will need to create a local Git repository and then clone it.

For this, perform the following steps:

1. Create two empty folders on the disk of your computer where the local repository will be stored.

2. Start Windows Command Prompt (CMD).

Note

To navigate to the folder where the main local repository will be located, in the Command Prompt, use the cd command.

3. Type git init --bare to create the main repository locally.

4. Navigate to the second folder and clone the local repository you have just created using git clone <pathToMainRepo>. Make sure to place a dot at the end of the command to clone the repository to the folder you have created. Otherwise, another subfolder will be created.

Note

<pathToMainRepo> is the path to the main repository you created locally when executing the git init --bare command.

5. Execute these CMD commands in the folder in question:

  • git commit --allow-empty -m initial to make an initial commit
  • git push to push the changes to the remote repository

Work with a local Git repository

6. Link dbForge Source Control to the folder with the cloned repository.

Automating the cloning of a Git local repository from the command line

It is also possible to automate the cloning of a Git repository executing the .bat file with the script from the command line. The script will clone the repository, make an initial commit, and push the changes to the repository.

To do this, perform the following steps:

1. In a text editor, enter the following script to create a batch file to clone the repository:

:: Change DatabaseName to your database name; it will be the repository folder name.
set _database=DatabaseName
:: Change _main if desired; it will be the folder for the main repository.
set _mainfolder=_main
:: Please do not change the following variables and commands.
set _maindir=%_mainfolder%\%_database%

:: Create the main folder to store the main repository.
md %_mainfolder%
:: Create a subfolder under the main folder with the name of the database.
md %_maindir%
:: Navigate to the subfolder.
cd %_maindir%
:: Initialize the main repository (it will be empty).
git init --bare

:: Go back to the root directory.
cd ..\..
:: Clone the main repository, creating a folder with the name of the database.
git clone %_maindir%
:: Navigate to the cloned folder.
cd %_database%
:: Run git commands in the cloned folder.
git commit --allow-empty -m initial
git push
set _path=%cd%
:: Print the repository folder for reference.
echo Cloned repo folder: %_path%
cd ..

pause

Note

Replace DatabaseName with the actual database name. This folder will be your repository.

Optional: Change the name of the main repository folder - _main.

Do not change the following variables and commands: %_mainfolder% and %_database%.

2. Save the file with a .bat extension in the folder that will store the repositories.

3. Run the script.

Execute the batch file to clone the Git local repository

Next, navigate to the folder that stores the repositories. In our example, it is D:\git_SQL. As you can see, the following folders have been created:

  • _main, which is a folder for the main repository.
  • bikestores, which is a cloned copy of the repository.
  • clone-git-repo-sql.bat, which is a batch file used to automate the cloning of a Git local repository from the command line.

Result

Linking a database to the repository

After the repository has been cloned, you can link dbForge Source Control to that folder. To do this, perform the following steps:

Note

In our example, we’ll link the BikeStores database to the repository.

1. In Object Explorer, right-click the database you want to link to source control and select Source Control > Link Database to Source Control.

2. In the Link Database to Source Control dialog that opens, click + in the Source control repository field to open the Source Control Repository Properties dialog.

3. In the dialog that opens, do the following:

  • Select Git from the Source Control system dropdown list.
  • In the Repository folder field, click More options iconMore and select the repository folder.
  • Optional: Click Test to verify that the database has successfully been connected to source control.

Select the repository folder

4. Click OK to close the Source Control Repository Properties dialog.

5. In the Link Database to Source Control dialog, select a database development model and click Link.

Link the database to the repos

6. After the refresh operation, Source Control Manager opens, displaying the local changes, which you can commit to the repository.

Source Control Manager with local changes

Additionally, watch this video to learn more about how to create a local Git repository and link your database to it using Source Control.

This video explains how to collaborate on the same database project using dbForge Source Control for SQL Server. The video provides the case where two developers try to push database changes to a Git remote repository simultaneously.

To learn more about versioning SQL databases linked to Git, you can refer to the following pages:

Want to Find out More?

Overview

Overview

Take a quick tour to learn all about the key benefits delivered by dbForge Source Control for SQL Server.
All Features

All features

Get acquainted with the rich features and capabilities of the Source Control in less than 5 minutes.
Request a demo

Request a demo

If you consider employing the Source Control for your business, request a demo to see it in action.
Ready to start using dbForge Source Control for SQL Server?