Popularity
9.5
Growing
Activity
10.0
-
9,977
81
645

Programming language: Go
License: GNU General Public License v3.0 or later

bytebase alternatives and similar packages

Based on the "Database Schema Migration" category.
Alternatively, view bytebase alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of bytebase or a related project?

Add another 'Database Schema Migration' Package

README

Live Demo • Install • Help • Development • Design Doc

Bytebase is a web-based, zero-config, dependency-free database schema change and version control management tool for the DevOps team.

For Developer and DevOps Engineer - Holistic view of database schema changes

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.

For DBA - 10x operational efficiency

A collaborative web-console to allow DBAs to manage database tasks and handle developer tickets much more efficiently than traditonal tools.

For Tech Lead - Improve team velocity and reduce risk

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.

Supported Database

✅ MySQL ✅ PostgreSQL ✅ TiDB ✅ ClickHouse ✅ Snowflake

VCS Integration

Database-as-Code, login with VCS account, project membership sync.

✅ GitLab CE/EE ✅ GitHub.com

Features

  • [x] Web-based database change and management workspace for teams
  • [x] SQL Review
  • [x] Built-in SQL Editor
  • [x] Detailed migration history
  • [x] Multi-tenancy (rollout change to homogeneous databases belonged to different tenants)
  • [x] Backup and restore
  • [x] Point-in-time recovery (PITR)
  • [x] Anomaly center
  • [x] Environment policy
    • Approval policy
    • Backup schedule enforcement
  • [x] Schema drift detection
  • [x] Backward compatibility schema change check
  • [x] Role-based access control (RBAC)
  • [x] Webhook integration for Slack, Discord, MS Teams, DingTalk(钉钉), Feishu(飞书), WeCom(企业微信)

Fig.1 - Dashboard

Screenshot

Fig.2 - SQL review issue pipeline

Screenshot

Fig.3 - GitLab based schema migration (Database-as-code)

Screenshot

Fig.4 - Built-in SQL Editor

Screenshot

📕 Docs

Installation

https://bytebase.com/docs/get-started/install/overview

User doc

https://bytebase.com/docs

In particular, get familiar with various product concept such as data model, roles and permissions and etc.

Design doc

https://github.com/bytebase/bytebase/tree/main/docs/design

Version upgrade policy

https://github.com/bytebase/bytebase/tree/main/docs/version-management.md

🕊 Interested in contributing?

  1. Checkout issues tagged with good first issue.

  2. We are maintaining an online database glossary list, you can add/improve content there.

  3. Before creating a Pull Request, please follow the Development Guide for branch and commit message conventions.

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.

🏗 Development

Bytebase is built with a curated tech stack. It is optimized for developer experience and is very easy to start working on the code:

  1. It has no external dependency.
  2. It requires zero config.
  3. 1 command to start backend and 1 command to start frontend, both with live reload support.

Learn the codebase

Screenshot

  • Data Model

Screenshot

Prerequisites

  • Go (1.19 or later)
  • pnpm
  • Air (must use forked repo 87187cc). This is for backend live reload.

Steps

  1. Install forked Air 87187cc. Use 87187cc because it has the cherrypicked fix.
   go install github.com/bytebase/air@87187cc
  1. Pull source.
   git clone https://github.com/bytebase/bytebase
  1. 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
  1. 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.

  1. (Optional) Install pre-commit.
   cd bytebase
   pre-commit install
   pre-commit install --hook-type commit-msg

Star History

Star History Chart

Jobs

Check out our jobs page for openings.