DbSchema saves the entire database design — tables, columns, foreign keys, and diagrams — into a single .dbs file (XML format). Storing this file in a Git repository gives your team a complete, versioned history of every schema change, with the ability to branch, merge, and roll back just like with source code.
The typical team workflow with DbSchema and Git looks like this:
.dbs file.dbs file is committed and pushed to the shared Git repository.dbs file against the live database and generates the SQL needed to bring it up to dateThis means database changes travel the same path as code changes — through pull requests, code review, and controlled merges.
To get started you need a repository URL from a hosting provider (GitHub, GitLab, Bitbucket, or a self-hosted Git server).
In the Git dialog, paste the repository URL and choose an empty local folder to clone into. DbSchema will download the repository contents to that folder.
After cloning, open the .dbs file from the Model menu. You can have multiple .dbs files in the same repository — one per database or project component.
To share your changes with the team:
GitHub and Bitbucket require authentication before accepting a push (see the Authentication section below).
To download the latest schema changes from teammates:
The Git dialog in DbSchema also provides:
You can authenticate with a username and password. For GitHub and Bitbucket, use a personal access token instead of your account password.
If you prefer SSH key authentication and encounter issues, convert your private key to classic OpenSSH format:
ssh-keygen -p -f <privateKeyFile> -m pem -P passphrase -N passphrase