Bytebase is a web-based, zero-config, dependency-free database schema change and version control management tool for the DevOps team.
Regardless of working as an IC in a team or managing your own side project, developers using Bytebase will have a holistic view of all the related database info, the ongoing database schema change tasks and the past database migration history.
A collaborative web-console to allow DBAs to manage database tasks and handle developer tickets much more efficiently than traditonal tools.
Teams using Bytebase will naturally adopt industry best practice for managing database schema changes. Tech leads will see an improved development velocity and reduced outages caused by database changes.
✅ MySQL ✅ PostgreSQL ✅ TiDB ✅ ClickHouse ✅ Snowflake
Database-as-Code, login with VCS account, project membership sync.
✅ GitLab CE/EE ✅ GitHub.com
Checkout issues tagged with good first issue.
We are maintaining an online database glossary list, you can add/improve content there.
Note: We are quite disciplined on tech stack. If you consider bringing a new programming language, framework and any non-trivial external dependency, please open a discussion first.
Bytebase is built with a curated tech stack. It is optimized for developer experience and is very easy to start working on the code:
Install Air v1.30.0. Use 1.30.0 because the newer version changes the behavior and won't shutdown the previous service properly.
go install github.com/cosmtrek/[email protected]
git clone https://github.com/bytebase/bytebase
Start backend using air (with live reload).
air -c scripts/.air.toml
Change the open file limit if you encounter "error: too many open files".
ulimit -n 10240
If you need additional runtime parameters such as --backup-bucket, please add them like this:
air -c scripts/.air.toml -- --backup-region us-east-1 --backup-bucket s3:\\/\\/example-bucket --backup-credential ~/.aws/credentials
Start frontend (with live reload).
cd frontend && pnpm i && pnpm dev
Bytebase should now be running at http://localhost:3000 and change either frontend or backend code would trigger live reload.
(Optional) Install pre-commit.
cd bytebase pre-commit install pre-commit install --hook-type commit-msg
Check out our jobs page for openings.