/bytebase

Web-based, zero-config, dependency-free database schema change and version control tool for teams. Public demo: https://demo.bytebase.com

Primary LanguageVueApache License 2.0Apache-2.0

Bytebase

license status

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

  • Web-based schema change and management workspace for teams
  • Version control based schema migration (Database-as-Code)
  • Classic UI based schema migraiton (SQL Review)
  • Detailed migration history
  • Backup and restore
  • Anomaly center
  • Environment policy
    • Approval policy
    • Backup schedule enforcement
  • Schema drift detection
  • Backward compatibility schema change check
  • Role-based access control (RBAC)
  • MySQL support
  • PostgreSQL support
  • TiDB support
  • Snowflake support
  • ClickHouse support
  • GitLab CE/EE support
  • Webhook integration for Slack, Discord, MS Teams, DingTalk(钉钉), Feishu(飞书), WeCom(企业微信)
  • GitLab.com support
  • GitHub support
Fig.1 - Dashboard

Screenshot

Fig.2 - SQL review issue pipeline

Screenshot

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

Screenshot

Installation

Detailed installation guide

Run on localhost:8080

docker run --init --name bytebase --restart always --publish 8080:8080 --volume ~/.bytebase/data:/var/opt/bytebase bytebase/bytebase:0.8.1 --data /var/opt/bytebase --host http://localhost --port 8080

Run on https://bytebase.example.com

docker run --init --name bytebase --restart always --publish 80:80 --volume ~/.bytebase/data:/var/opt/bytebase bytebase/bytebase:0.8.1 --data /var/opt/bytebase --host https://bytebase.example.com --port 80

📕 Docs

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

Design doc

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

🕊 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.

🏗 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.

Tech Stack

Screenshot

Data Model

Screenshot

Prerequisites

  • Go (1.16 or later)
  • Yarn
  • Air (For backend live reload)

Steps

  1. Install Air

  2. Pull source

    git clone https://github.com/bytebase/bytebase
  3. Start backend using air (with live reload)

    air -c scripts/.air.toml
  4. Start frontend (with live reload)

    cd frontend && yarn && yarn dev

Bytebase should now be running at https://localhost:3000 and change either frontend or backend code would trigger live reload.

Coding guideline

Here

Notice

Bytebase is in public alpha and we may make breaking schema changes between versions. We plan to stabilize the schema around the middle of August. In the mean time, if you are eager to try Bytebase for your business and encounter issue when upgrading to the new version. Please contact support@bytebase.com or join our Discord server, and we will help you manually upgrade the schema.

We are hiring

We are looking for an experienced frontend engineer to lead Bytebase frontend development. Check out our jobs page.