Back to all posts

Top 5 Database GUI Clients with Git Integration in 2026

For the developer or DBA whose team keeps overwriting each other's schema changes, and who is choosing a database client that puts those changes under Git.

On this page

When two people change the same schema, whoever deploys second overwrites the first without knowing it. Git records both changes, and when they collide, the merge stops and asks which one to keep. DbSchema is the pick here, because it puts the design itself under Git: one model file with the extension .dbs, committed from DbSchema's own Git dialog. DataGrip, Toad for SQL Server, SQL Developer and DBeaver put SQL scripts and project files under Git.

Every fact about those four comes from the vendor's own pages, checked on 12 November 2026.

Try the first pick on this list

Free Community Edition plus a 15-day Architect trial. No signup. Windows, macOS and Linux.

Two ways a team changes a schema

Without Git, everyone connects to the same development database and changes it in place. Nothing records who changed what, and the last change to run wins.

With Git, each person changes a copy, commits it, and pushes it to a shared repository. Each commit carries an author, a message and a diff. A teammate reviews the change before it reaches the database, and a change that breaks something is undone by going back to the commit before it.

The Git-based workflow, where local copies go through a shared Git repository and a reviewed script reaches the database, next to the shared environment workflow, where every SQL editor changes one development database in place

The rows stay in the database. What goes to Git is the definition of the tables, columns and views, as files. The repository can live on GitHub, GitLab or Bitbucket, or on your company's own server. If commits and pushes are new to you, what Git is explains them.

The five clients compared

The five clients fall into two kinds by what they commit. DbSchema commits its model file, which holds the tables, columns, foreign keys and the diagrams drawn over them. The other four commit files that you write or export, mostly SQL scripts. With those four, a reviewer reads a schema change as lines of a script, some added and some removed.

ClientDatabasesGit in the clientWhat goes into Git
DbSchemarelational and NoSQL, over JDBCbuilt in, File → Git Collaboration; the model file needs the Pro editionthe .dbs design model
DataGriprelational and NoSQLbuilt in, as a bundled pluginthe project's files, such as SQL scripts
Toad for SQL ServerSQL ServerSubversion and TFS; Git through Git's own client (6.6 help)database objects and SQL scripts
SQL DeveloperOracle Databasebuilt in, beside Subversionthe files you work on, such as SQL scripts
DBeaverrelational; NoSQL in the paid editionsEnterprise, Ultimate and Team; Community through an extensionthe project: scripts, diagrams, configuration

In every client, a commit changes files and leaves the database alone. A committed change reaches the database only when somebody runs a SQL script. DbSchema writes that script itself, by comparing the model file with the database. That step is called schema synchronization.

Two paths to the database: DbSchema commits the .dbs model file, and a teammate pulls it and gets a SQL script from synchronization; the other clients commit a SQL script, which a teammate pulls and runs

What one schema change looks like in Git

Take a table defined in a script under Git:

CREATE TABLE customers (
    id   integer NOT NULL,
    name varchar(100) NOT NULL
);

Someone adds an email column in the SQL editor and commits. git diff shows the reviewer this:

 CREATE TABLE customers (
-    id   integer NOT NULL,
-    name varchar(100) NOT NULL
+    id    integer NOT NULL,
+    name  varchar(100) NOT NULL,
+    email varchar(200)
 );

One column was added, and the diff shows three lines added and two removed. The name line gained a comma, and the author re-aligned the columns. The reviewer has to work out which lines change the schema. A database that already has the table needs an ALTER TABLE, and the diff has none.

DbSchema saves the same customers table into the .dbs file as XML. This is the file that DbSchema 10.5.2 wrote, with the table on one diagram:

<?xml version="1.0" encoding="UTF-8" ?>
<project name="shop" database="PostgreSQL" id="b474c8d5-7846-4889-a32f-f893d0dc650b" >
	<schema name="public" >
		<table name="customers" >
			<column name="id" type="integer" mandatory="y" />
			<column name="name" type="varchar" length="100" mandatory="y" />
		</table>
	</schema>
	<diagram_group name="Default" id="ce2aa11c-600b-4399-ab7a-23db583951a6" >
		<diagram name="shop" id="dcd94012-8117-40d6-9daa-ffcbace76f52" show_relation="columns" >
			<entity schema="public" name="customers" color="3986C1" x="57" y="57" />
		</diagram>
	</diagram_group>
</project>

Adding the column in DbSchema and saving the model changes one line of that file:

 		<table name="customers" >
 			<column name="id" type="integer" mandatory="y" />
 			<column name="name" type="varchar" length="100" mandatory="y" />
+			<column name="email" type="varchar" length="200" />
 		</table>

The commit of the script and the commit of the model both left the database alone. DbSchema compared the new model with the old one and generated the statement that turns one into the other:

ALTER TABLE "public".customers ADD email varchar(200)    ;

So the reviewer of the model reads one added column line, and gets the ALTER TABLE from DbSchema.

How DbSchema versions the model in Git

DbSchema keeps the whole design in one .dbs file: tables, foreign keys and diagrams. It has Git built in, so nobody on the team needs another Git program. One repository can hold several model files, one per database.

  1. Save the model with File → Save Model to File, then choose File → Git Collaboration.
  2. The first time, choose More → Clone. Paste the repository address into GIT URL, choose an empty folder, and save the model into that folder.
  3. Under Uncommitted changes, tick the model file, type a Commit message, and press Commit.
  4. Press Push to send your commits to the shared repository. GitHub and Bitbucket refuse your account password here, so type an access token instead.
  5. Press Check for incoming changes, then Pull to get your teammates' commits. Press Reload Project to open the new version.
The DbSchema Git dialog for shop.dbs: the commits of two people and a merge in the graph, the Pull, Push and Model History buttons, and the Uncommitted changes panel

Press Model History in the Git dialog to list every commit that changed the model, with the tables it changed and what changed in them:

The DbSchema GIT Audit Changes window: Ben Carter changed the comment of the customers table, and Ana Lopez created the schema shop

If you and a teammate changed the same part of the model, the pull stops with a conflict. The file's row in the Git dialog then has three links: Ours keeps your version, Theirs keeps your teammate's, and Merge... opens both side by side.

To have a change reviewed before it reaches the database, work offline with Database → Offline (connect later). While DbSchema is connected, a change that you confirm in the diagram runs in the database at once, with no commit in between.

To bring a reviewed model into the database, connect again and synchronize. DbSchema lists every difference between the model and the database, and you choose which side wins for each one. Then press one of two buttons. Commit in the database runs the changes. Generate SQL script writes them as a migration script that runs later.

The DbSchema Synchronize Model and Database dialog with one row per difference, the side that wins for each, the ALTER TABLE statement that would run, and the Generate SQL script button

How the other four clients use Git

DataGrip by JetBrains

DataGrip's Git plugin is bundled and enabled by default[1]. Git versions the files of your DataGrip project, such as SQL scripts. To version the schema, you export its CREATE statements into a set of SQL files, which DataGrip calls a DDL data source, and commit those files. After each change to the database, you regenerate the files and commit them again[2]. The reviewer then reads a text diff like the diff of the script above.

DataGrip is free for non-commercial use, Git included, and paid work needs a commercial license[3]. For schema design rather than version control, see DataGrip alternatives.

Toad for SQL Server

Toad for SQL Server keeps database objects and SQL scripts under version control: tables, views, stored procedures, functions, sequences and other object types[4]. The help for Toad 6.6 lists Subversion and Team Foundation Server as providers, plus a provider that works on a local folder. Git goes through that folder provider. Toad writes the files into the folder, and you commit them with a Git client installed beside Toad. In that help, renaming an object under version control drops its history.

SQL Developer by Oracle

SQL Developer 26.2 documents integrated support for Git and Subversion[5]. Its Team menu holds the version control commands, and they change with the systems available. A Versioning: Git preferences pane sets, for instance, whether new files are added to the repository when you commit. Git versions the files you work on, which for a schema means its SQL scripts.

DBeaver

DBeaver's Git integration is in the Enterprise, Ultimate and Team editions, and Community users install an extension to get it[6]. The Lite edition has none[7]. Git keeps the project's configuration, scripts, diagrams and bookmarks. For the design comparison rather than the Git one, see DBeaver alternative.

Put your model under Git

Download DbSchema from https://dbschema.com/download.html, connect to your database, and reverse-engineer the schema. Save it as a .dbs file in a cloned repository, and commit it from File → Git Collaboration. Saving the model to a file and schema synchronization need the Pro edition. The 15-day trial runs the Architect edition, which includes Pro. The free Community Edition connects, reverse-engineers and draws the diagrams.

Sources

  1. Set up a Git repository (DataGrip 2026.3 help)
  2. DDL data sources (DataGrip help)
  3. DataGrip is now free for non-commercial use (JetBrains blog)
  4. Toad for SQL Server 6.6 help, "About Version Control"
  5. SQL Developer User's Guide, "Using Versioning" (release 26.2)
  6. DBeaver, GIT integration (DBeaver documentation)
  7. DBeaver editions

Put your schema under version control

DbSchema saves your design as a single .dbs file you can commit, branch and review in Git, and compares it against a live database before you deploy. Saving the model file and schema synchronization need DbSchema Pro; the Community Edition is free and the Architect trial runs 15 days.