XUtils

bytebase

Safe database schema change and version control for DevOps teams.


๐ŸŽฎ Demo

Live demo at https://demo.bytebase.com

You can also book a 30min product walkthrough with one of our product experts.


๐Ÿ‘ฉโ€๐Ÿซ Tutorials

Product tutorials are available at https://www.bytebase.com/tutorial.

Integrations


๐Ÿ’Ž Design Principles

๐Ÿชถ Dependency Free Start with a single command ./bytebase without any external dependency. External PostgreSQL data store and others are optional.
๐Ÿ”— Integration First Solely focus on database management and leave the rest to others. We have native VCS integration with GitHub/GitLab, Terraform Provider, webhook, and etc.
๐Ÿ’‚โ€โ™€๏ธ Engineering Disciplined Disciplined bi-weekly release and engineering practice.


๐Ÿงฉ Data Model

More details in Data Model Doc.

Data Model


๐ŸŽญ Roles

More details in Roles and Permissions Doc.

Bytebase employs RBAC (role based access control) and provides two role sets at the workspace and project level:

  • Workspace roles: Admin, DBA, Member. The workspace role maps to the role in an organization.
  • Project roles: Owner, Developer, Releaser, Querier, Exporter, Viewer. The project level role maps to the role in a specific team or project.

Every user is assigned a workspace role, and if a particular user is involved in a particular project, then she will also be assigned a project role accordingly.

Below diagram describes a typical mapping between an engineering org and the corresponding roles in the Bytebase workspace

Role Mapping


Dev Environment Setup

Steps

  1. Pull source.
   git clone https://github.com/bytebase/bytebase
  1. Create an external Postgres database on localhost.
   CREATE USER bbdev SUPERUSER;
   CREATE DATABASE bbdev;
  1. Start backend using air (with live reload).
   PG_URL=postgresql://bbdev@localhost/bbdev 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.

Tips

  • Use Code Inspector to locate frontend code from UI. Hold Option + Shift on Mac or Alt + Shift on Windows


๐Ÿคบ Bytebase vs Alternatives

Bytebase vs Metabase

Metabase is a data visualization and business intelligence (BI) tool. It’s built for data teams and business analysts to make sense of the data.

Bytebase is a database development platform. It’s built for the developer teams to perform database operations during the application development lifecycle.

Star History Chart

Bytebase vs CloudBeaver

Both have web-based SQL clients. Additionally, Bytebase offers review workflow, more collaboration and security features.

Star History Chart

Bytebase vs DBeaver / Navicat

SQL GUI Client such as MySQL Workbench, pgAdmin, DBeaver, Navicat provide a GUI to interact with the database. Bytebase not only provides a GUI client, it can also enforce centralized data access control for data security and governance.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Community

Hang out on Discord

Follow us on Twitter


๐Ÿค” Frequently Asked Questions (FAQs)

Check out our FAQ.



Articles

  • coming soon...