Web-based, zero-config, dependency-free database schema change and version control tool for teams

Overview

Bytebase

Live DemoInstallHelpDevelopmentDesign Doc

license status go report Docker pulls

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.9.0 --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.9.0 --data /var/opt/bytebase --host https://bytebase.example.com --port 80

📕 Docs

User doc https://docs.bytebase.com

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. Set up pre-commit hooks.

     cd bytebase
     pre-commit install
     pre-commit install --hook-type commit-msg
  4. 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
    
  5. 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 [email protected] 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.

Comments
  • feat(git): consolidate repository webhook

    feat(git): consolidate repository webhook

    We used to create a webhook for every VCS project, which brought some problems:

    1. There is a limit to the number of webhooks in a code repository, and Bytebase is likely to exhaust the webhook resources.
    2. When a push event occurs, the code host will send messages to all webhooks indiscriminately, which may consume Bytebase's network resources.
    3. Since we cannot distinguish whether a push event can create an issue in another project, we will create many warning activities.

    We try the following solutions:

    1. All Bytebase projects connected to a code repository will reuse a webhook.
    2. When a push event is received, we iterate through each VCS project connected to this webhook. We only create a warning activity for each project when no issue is created.

    Some implementation details:

    1. When the same repository web url already exists, we will not create a webhook but reuse the previous one.
    2. Only delete the code host webhook if this project is the last one to use this webhook.
    3. The refresh token should be a batch update.
    CleanShot 2022-09-15 at 12 46 14@2x CleanShot 2022-09-15 at 12 46 31@2x cla-signed 
    opened by h3n4l 23
  • FindMigrationHistoryList error when use external pg

    FindMigrationHistoryList error when use external pg

    • use external pg as bytebase db
    • create db on tenant mode project check duplicate version error: "failed to connect to `host=xxx user=xxx database=bytebase`: server error (FATAL: database \"bytebase\" does not exist (SQLSTATE 3D000))"

    https://github.com/bytebase/bytebase/blob/5d3ca6e452bec01bc8362964c3c2b4698d04e782/plugin/db/util/driverutil.go#L191 https://github.com/bytebase/bytebase/blob/5d3ca6e452bec01bc8362964c3c2b4698d04e782/plugin/db/pg/pg.go#L1011

    I think it was these two places that caused this problem,the dsn of the target database is used instead of the dsn of the external pg

    bug 
    opened by Cluas 17
  • fix(ui/ux): pipeline flow nav item overflow

    fix(ui/ux): pipeline flow nav item overflow

    Before: Xnip2022-02-26_13-54-09

    After fix: image

    Fixed this layout problem only in PC viewport, it also appear in mobile view.

    See this.

    Xnip2022-02-26_14-07-43

    Unlike the previous ones, this is the tooltip element css position, and a solution can be negotiated.

    opened by Innei 16
  • fix: tenant mode VSC with DatebaseNameTemplate task execute error

    fix: tenant mode VSC with DatebaseNameTemplate task execute error

    Signed-off-by: cluas [email protected]

    case:

    • tenant template: {{DB_NAME}}_{{TENTANT}}
    • tenants: a, b
    • demo db: demo
    • file path template: {{DB_NAME}}__{{VERSION}}__{{TYPE}}__{{DESCRIPTION}}.sql
    • example push file: demo__v0.1.0__migrate__demo.sql
    • tasks after gitops webhook: task1 {database: demo_a, namespace: demo_a}}, task2 {database: demo_b, namespace: demo_b}}

    but here it parse {{DB_NAME}}, in this case, always is demo. so subsequent tasks will immediately go wrong.

    cla-signed 
    opened by Cluas 14
  • Error status code 422 trying to integrate version control with project

    Error status code 422 trying to integrate version control with project

    Provide the MySQL version you are using (if related with instance/database operation) MariaDB 10.6.4

    Provide the Bytebase version you are using 0.8.1

    Describe the bug After adding a project, database, initial migration schema, and Git provider (self hosted gitlab instance), I attempted to integrate my project with Gitlab. At the final step where you click Finish it gives me an error message "Failed to create webhook for project ID: 101, status code: 422"

    Steps or screenshots to reproduce the behavior

    1. Go to project
    2. Click Version Control tab
    3. Click Version Control Workflow and click Configure version control button
    4. Click on existing Git provider
    5. Click on repo
    6. Enter "master" as the branch
    7. Click Finish
    8. See error: "Failed to create webhook for project ID: 101, status code: 422"

    Expected behavior

    Version control is integrated successfully.

    Desktop (please complete the following information):

    • Browser Firefox 91.3.0esr

    I'm not sure what to look for. I also tried unprotecting the master branch for the repo but I'm still seeing this error message. If it's relevant, I do not have any .sql files present in the repo yet as I'm not sure whether Bytebase is supposed to create them for me, or if I'm supposed to provide them ahead of time... I assumed Bytebase would generate the .sql files in the repo.

    bug 
    opened by linucksrox 12
  • feat(PITR): embed mysqlbinlog

    feat(PITR): embed mysqlbinlog

    TODO:

    • [x] Embed mysqlbinlog-8.0.28-macos11-arm64
    • [x] Embed mysqlbinlog-8.0.28-linux-glibc-2.17-x86_64
    • [x] A tiny unit test for mysqlbinlog-8.0.28-linux-glibc-2.17-x86_64
    • [x] Describe production process
    cla-signed 
    opened by h3n4l 11
  • When docker run according to docs ERROR   failed to extract txz file, error: failed to create directory

    When docker run according to docs ERROR failed to extract txz file, error: failed to create directory "share/postgresql/", error: mkdir /var/opt/bytebase/resources: permission denied

    Provide the Bytebase version you are using docker 1.0.0 Describe the bug

    docker run --init --name bytebase --restart always --publish 80:80 --volume ~/.bytebase/data:/var/opt/bytebase bytebase/bytebase:1.0.0 --data /var/opt/bytebase --host https://bytebase.example.com --port 80
    -----Config BEGIN-----
    mode=release
    server=https://bytebase.example.com:80
    datastore=https://bytebase.example.com:81
    frontend=https://bytebase.example.com:80
    dsn=file:/var/opt/bytebase/bytebase.db
    resourceDir=/var/opt/bytebase/resources
    pgdataDir=/var/opt/bytebase/pgdata
    seedDir=seed/release
    readonly=false
    demo=false
    debug=false
    -----Config END-------
    2022-03-11 03:23:24.091208 I | Installing Postgres OS "linux" Arch "amd64" txz "postgres-linux-x86_64-alpine_linux.txz"
    2022-03-11T03:23:24.092Z        ERROR   failed to extract txz file, error: failed to create directory "share/postgresql/", error: mkdir /var/opt/bytebase/resources: permission denied
    
    bug 
    opened by abserari 11
  • Schema update in VCS doesn't trigger Bytebase to apply the change

    Schema update in VCS doesn't trigger Bytebase to apply the change

    Provide the MySQL version you are using (if related with instance/database operation) MySQL 5.6.30

    Provide the GitLab version you are using (if related with VCS integration) 14.5.0

    Provide the Bytebase version you are using 0.8.1

    Describe the bug After integrating with self hosted Gitlab, I set the file path template and schema path template, then committed a schema update to the repository matching the template, but nothing happened in Bytebase. Even with debug logging enabled, I don't see any activity on Bytebase.

    Steps or screenshots to reproduce the behavior

    1. Integrate VCS with a project
    2. Set branch to master
    3. Set file path template to {{DB_NAME}}{{VERSION}}{{TYPE}}.sql
    4. Click Update button
    5. Commit a file in the root directory of the master branch named dbtest__202112031025__migrate.sql
    6. Expect something to happen in Bytebase but nothing happens
    7. Check the debug output, but there is nothing
    8. Confirm the instance name is dbtest
    9. Confirm the database name is dbtest

    Expected behavior

    I believe a new migration is supposed to happen in Bytebase, but I'm not sure if it's an issue where Gitlab is not calling Bytebase to do the update, or if Bytebase is not polling Gitlab for changes, or maybe it's not detecting a matching file pattern.

    Desktop (please complete the following information):

    • Browser Firefox 91.3.0esr

    Additional context

    It would be helpful if the documentation explained in a little more detail what the process was. For example, does Gitlab send a webhook reqeust to Bytebase after committing to the repo, or does Bytebase periodically check for changes in the repo? Also it would be helpful in the case where Bytebase checked for schema updates to log that it didn't find any files matching the pattern.

    bug 
    opened by linucksrox 11
  • fix: send SIGINT to clean up resources

    fix: send SIGINT to clean up resources

    Send SIGINT to backend when restarting to make sure the sqlite database is closed properly.

    This PR is blocked by a PR for air.

    After this change, I start to see the "BYE" banner when I make a change: Screen Shot 2021-12-02 at 8 46 46 PM

    opened by suzaku 11
  • docker run with error

    docker run with error "pthread_create failed: Operation not permitted"

    Describe the bug

    when i run docker command following the document, it returns this error:

    runtime/cgo: pthread_create failed: Operation not permitted
    SIGABRT: abort
    PC=0x7f93d7df157c m=0 sigcode=18446744073709551610
    
    goroutine 0 [idle]:
    runtime: g 0: unknown pc 0x7f93d7df157c
    stack: frame={sp:0x7ffd80b7b940, fp:0x0} stack=[0x7ffd8037cec0,0x7ffd80b7bed0)
    0x00007ffd80b7b840:  0x00007f93d7d7bf10  0x00007f93d7e01d20
    0x00007ffd80b7b850:  0x0000000000000000  0x00007ffd80b7bc20
    0x00007ffd80b7b860:  0x2525252525252525  0x2525252525252525
    0x00007ffd80b7b870:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b880:  0x00000000000000ff  0x0000000000000000
    0x00007ffd80b7b890:  0x00000000000000ff  0x0000000000000000
    0x00007ffd80b7b8a0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8b0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8c0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8d0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8e0:  0x0000000004a0859c  0x0000000004a089a4
    0x00007ffd80b7b8f0:  0x00000000069ce66b  0x0000000000000000
    0x00007ffd80b7b900:  0x0000000002218c7b  0x0000000000000006
    0x00007ffd80b7b910:  0x00000000069ce66a  0x0000000000000000
    0x00007ffd80b7b920:  0x000000000221569a  0x0000000000000004
    0x00007ffd80b7b930:  0x00000000069ce66c  0x00007f93d7df156e
    0x00007ffd80b7b940: <0x0000000002216eb6  0x0000000000000005
    0x00007ffd80b7b950:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b960:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b970:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b980:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b990:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9a0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9b0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9c0:  0x0000000000000002  0x015a0daa60964700
    0x00007ffd80b7b9d0:  0x00007f93d7d65e40  0x0000000000000006
    0x00007ffd80b7b9e0:  0x00000000088412e0  0x0000000000000178
    0x00007ffd80b7b9f0:  0x00000000068190a0  0x00007f93d7da5a02
    0x00007ffd80b7ba00:  0x00007f93d7f5de70  0x00007f93d7d90469
    0x00007ffd80b7ba10:  0x0000000000000020  0x0000000000000000
    0x00007ffd80b7ba20:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7ba30:  0x0000000000000000  0x0000000000000000
    runtime: g 0: unknown pc 0x7f93d7df157c
    stack: frame={sp:0x7ffd80b7b940, fp:0x0} stack=[0x7ffd8037cec0,0x7ffd80b7bed0)
    0x00007ffd80b7b840:  0x00007f93d7d7bf10  0x00007f93d7e01d20
    0x00007ffd80b7b850:  0x0000000000000000  0x00007ffd80b7bc20
    0x00007ffd80b7b860:  0x2525252525252525  0x2525252525252525
    0x00007ffd80b7b870:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b880:  0x00000000000000ff  0x0000000000000000
    0x00007ffd80b7b890:  0x00000000000000ff  0x0000000000000000
    0x00007ffd80b7b8a0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8b0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8c0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8d0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b8e0:  0x0000000004a0859c  0x0000000004a089a4
    0x00007ffd80b7b8f0:  0x00000000069ce66b  0x0000000000000000
    0x00007ffd80b7b900:  0x0000000002218c7b  0x0000000000000006
    0x00007ffd80b7b910:  0x00000000069ce66a  0x0000000000000000
    0x00007ffd80b7b920:  0x000000000221569a  0x0000000000000004
    0x00007ffd80b7b930:  0x00000000069ce66c  0x00007f93d7df156e
    0x00007ffd80b7b940: <0x0000000002216eb6  0x0000000000000005
    0x00007ffd80b7b950:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b960:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b970:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b980:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b990:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9a0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9b0:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7b9c0:  0x0000000000000002  0x015a0daa60964700
    0x00007ffd80b7b9d0:  0x00007f93d7d65e40  0x0000000000000006
    0x00007ffd80b7b9e0:  0x00000000088412e0  0x0000000000000178
    0x00007ffd80b7b9f0:  0x00000000068190a0  0x00007f93d7da5a02
    0x00007ffd80b7ba00:  0x00007f93d7f5de70  0x00007f93d7d90469
    0x00007ffd80b7ba10:  0x0000000000000020  0x0000000000000000
    0x00007ffd80b7ba20:  0x0000000000000000  0x0000000000000000
    0x00007ffd80b7ba30:  0x0000000000000000  0x0000000000000000
    
    goroutine 1 [running]:
    runtime.systemstack_switch()
            /usr/local/go/src/runtime/asm_amd64.s:459 fp=0xc000070780 sp=0xc000070778 pc=0x49b540
    runtime.main()
            /usr/local/go/src/runtime/proc.go:170 +0x6d fp=0xc0000707e0 sp=0xc000070780 pc=0x46b9ad
    runtime.goexit()
            /usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000707e8 sp=0xc0000707e0 pc=0x49d761
    
    rax    0x0
    rbx    0x7f93d7d65e40
    rcx    0x7f93d7df157c
    rdx    0x6
    rdi    0x7
    rsi    0x7
    rbp    0x7
    rsp    0x7ffd80b7b940
    r8     0x7ffd80b7ba10
    r9     0x0
    r10    0x8
    r11    0x246
    r12    0x6
    r13    0x178
    r14    0x68190a0
    r15    0x7f93b09f435b
    rip    0x7f93d7df157c
    rflags 0x246
    cs     0x33
    fs     0x0
    gs     0x0
    
    

    docker info

    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.12
     Storage Driver: overlay2
      Backing Filesystem: xfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: systemd
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: inactive
     Runtimes: runc oci
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
     init version:
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.12.14-120-default
     Operating System: SUSE Linux Enterprise Server 12 SP5
     OSType: linux
     Architecture: x86_64
     CPUs: 4
     Total Memory: 7.548GiB
     Name: nginx2
     ID: NHBY:TWHM:I5HV:BILT:5JAG:WN3N:BKBY:OLUZ:YGKT:TKLG:4AQW:W2P7
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    WARNING: No swap limit support
    
    

    Steps to reproduce

    docker run --init
    --name bytebase
    --restart always
    --publish 5678:8080
    --health-cmd "curl --fail http://localhost:5678/healthz || exit 1"
    --health-interval 5m
    --health-timeout 60s
    --volume ~/.bytebase/data:/var/opt/bytebase
    bytebase/bytebase:1.6.0
    --data /var/opt/bytebase
    --port 8080

    Expected behavior

    container runs normally

    Screenshots

    No response

    Provide the Bytebase version you are using

    bytebase:1.6.0

    Provide the GitLab version you are using

    No response

    Provide the MySQL version you are using

    No response

    Provide the PostgreSQL version you are using

    No response

    Desktop

    No response

    Additional context

    OS: SUSE Linux Enterprise Server 12 SP5 Kernel: Linux nginx2 4.12.14-120-default

    bug 
    opened by glongzh 10
  • Chrome all labels show as their variable names.

    Chrome all labels show as their variable names.

    Provide the Bytebase version you are using 1.0.3, I also tested 1.0.2 and 1.0.0

    Describe the bug

    When using Google Chrome all labels show as their variable names.

    Steps or screenshots to reproduce the behavior

    1. Startup Bytebase
    2. visit the dashboard
    Screenshot 2022-04-13 at 14 51 55

    Expected behavior

    As in example screenshots and safari. actual content & titles instead of variable namings. Screenshot 2022-04-13 at 15 08 47

    Desktop (please complete the following information):

    • Browser [chrome]
    • Version [100]

    Additional context

    • Update: It seems like a content management issue in chrome 100. A lot of content isn't displayed. e.g. Modal pop-ups have no content. only a variable name.
    bug 
    opened by kevinbevers 10
  • Prevent self-service user signup

    Prevent self-service user signup

    Is your feature request related to a problem?

    The regular email/password authentication allows anyone to signup for an account on any bytebase instance. Once a user signs up they get the default Developer role.

    Describe the solution you'd like

    I'd love to simply set an env var that would hide the signup form, so that new users are only created by the admin only. The API endpoint for signup should also honor the env var and return an error if someone tries to hit the endpoint directly to create a user.

    Additional context

    https://github.com/bytebase/bytebase/discussions/3667#discussioncomment-4385372

    enhancement 
    opened by praneetloke 5
  • Support specifying s3 endpoint

    Support specifying s3 endpoint

    Is your feature request related to a problem?

    As I read from the doc, I don't see the possibility of specifying s3 endpoint, and with current situation, I'm afraid I won't be able to use S3-compatible object storage, like minio or object storage on other cloud providers.

    Describe the solution you'd like

    Support specifying the following parameter to authenticate into s3:

    • S3_ENDPOINT
    • S3_ACCESS_KEY_ID
    • S3_SECRET_ACCESS_KEY

    Additional context

    No response

    enhancement 
    opened by jizusun 1
  • Connection with AWS redshift

    Connection with AWS redshift

    Is your feature request related to a problem?

    I tried to make a connection with redshift but I was not successful at the time of fetching the user to create the connection as a database, I believe it is the differences between postgree and redshift.

    Describe the solution you'd like

    I suggest creating a feature that can connect with redshift.

    Additional context

    No response

    enhancement 
    opened by herbertstos 6
  • 项目管理安全性问题

    项目管理安全性问题

    Describe the bug

    项目访问地址: https://demo.bytebase.com/project/tenant-ui-3006#overview

    当我不在该项目中时, 主需要直接访问项目地址可以直接将自己添加到项目中

    并且项目成员可以随意的踢出任何人。

    Steps to reproduce

    1. 用户A没有项目权限,项目地址:https://demo.bytebase.com/project/tenant-ui-3006#overview
    2. 用户A直接访问地址后,点击设置--->管理成员--->添加自己
    3. 用户A能够直接拿到该项目权限

    Expected behavior

    权限拦截, 项目成员管理应该由项目拥有者操作

    Screenshots

    No response

    Provide the Bytebase version you are using

    latest

    Provide the GitLab version you are using

    No response

    Provide the MySQL version you are using

    No response

    Provide the PostgreSQL version you are using

    No response

    Desktop

    No response

    Additional context

    No response

    bug 
    opened by SEVEN7ME 1
Releases(1.10.0)
  • 1.10.0(Dec 29, 2022)

    What's Changed

    🚀 Features

    • Workspace owner and DBA can now view audit logs.
    • Support CRUD database role (only for PostgreSQL) via Terraform Provider.
    • Support viewing and editing primary keys and foreign keys in the Schema Editor for MySQL.
    • Support MySQL/TiDB SSL connection.
    • Support DML with large SQL (up to 100MB).
    • Support online migration for UI workflow with tenant-mode.

    🎄 Enhancements

    • Display mark-as-done tasks as skipped.
    • Removed the database name grouping rule in tenant mode projects.
    • Support searching projects, instances, and environments in the database search box.
    • UX improvement for database list page.
    • Speed up the issue detail page.

    🐞 Notable bug fixes

    • Fixed: querying Snowflake from SQL Editor.

    🎠 Community

    • We have revamped our GitHub README page. Please do check it out!
    • Thanks to @piglig for the PRs:
      • refactor: remove unnecessary error checking #3925
      • docs: fix data model picture reference invalid #3926
      • refactor: remove in-effective break #3943

    Full Changelog

    • https://github.com/bytebase/bytebase/compare/release/1.10.0...release/1.9.1
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.10.0_Darwin_arm64.tar.gz(140.97 MB)
    bytebase_1.10.0_Darwin_x86_64.tar.gz(145.13 MB)
    bytebase_1.10.0_Linux_x86_64.tar.gz(114.70 MB)
    checksums.txt(307 bytes)
  • 1.9.1(Dec 19, 2022)

    What's Changed

    🚀 Features

    • Support database access control.
    • Schema Editor for MySQL.
    • Check "Mark as done" to skip a task.
    • The issue creator can mark an issue as "Needs attention", which is highlighted in the assignee's view.

    🎄 Enhancements

    Full Changelog

    • https://github.com/bytebase/bytebase/compare/release/1.9.1...release/1.9.0
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.9.1_Darwin_arm64.tar.gz(108.97 MB)
    bytebase_1.9.1_Darwin_x86_64.tar.gz(110.88 MB)
    bytebase_1.9.1_Linux_x86_64.tar.gz(77.51 MB)
    checksums.txt(304 bytes)
  • 1.9.0(Dec 19, 2022)

    What's Changed

    🚀 Features

    • Support managing environment and instance via Terraform provider: https://www.bytebase.com/docs/get-started/terraform
    • Support synchronizing schema for PostgreSQL🐘 Currently in beta, and we support Schema, Table, Index, Constraint, and Sequence so far.
    • Support masking column-level sensitive data for MySQL🐬.
    • New UI for Admin mode of SQL Editor.

    🎄 Enhancements

    • Support updating the user's email.
    • Approve button on the issue detail page is disabled while task checks are still in progress.
    • Display more detailed information when it comes to approval for the current stage.
    • Verify the configured branch's existence in the GitOps workflow setup.

    🐞 Notable bug fixes

    • Prevent creating duplicate instances with a poor network connection.
    • Prevent creating duplicate issues with a poor network connection.

    Full Changelog

    • https://github.com/bytebase/bytebase/compare/release/1.9.0...release/1.8.0
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.9.0_Darwin_arm64.tar.gz(107.86 MB)
    bytebase_1.9.0_Darwin_x86_64.tar.gz(109.71 MB)
    bytebase_1.9.0_Linux_x86_64.tar.gz(76.34 MB)
    checksums.txt(304 bytes)
  • 1.8.0(Dec 19, 2022)

    What's Changed

    🚀 New Features

    • Support syncing schema for MySQL🐬.
    • Support approving issues via Lark (Feishu).
    • Support SQL Review CI in the GitOps workflow.
    • DBAs and workspace owners can run SQL statements in Admin mode from the SQL Editor.
    • Support altering multiple databases on tenant mode.

    🎄 Enhancements

    • Start a 14-day free trial without registering on the Bytebase license hub 💳.
    • Display more details for failed tasks via IM webhook.
    • Tightened the ACL check on the backend for Project and Sheet operation.
    • Added task dependencies by GitOps schema version.
    • Added Env info in the SQL Editor connection selector.
    • Boosted time to load databases from the SQL Editor.
    • Optimized text and style for the task card and issue pipeline UI.
    • Guarantee all tasks to be approved for stage approval.
    • Support batch operation for issues.
    • When creating issues, Bytebase automatically assigns a reviewer according to the approval policy.

    🐞 Notable Bug Fixes

    • Fixed: test connection issue with read-only data source in instances.
    • Fixed: mixing up the state of SQL statements in multi-task issues.
    • Fixed: error code formatting when creating DDL/DML issues from SQL Editor.

    🎠 Community

    • Thanks to @Zheaoli for #3176.

    Full Changelog

    • https://github.com/bytebase/bytebase/compare/release/1.8.0...release/1.7.0
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.8.0_Darwin_arm64.tar.gz(106.29 MB)
    bytebase_1.8.0_Darwin_x86_64.tar.gz(108.14 MB)
    bytebase_1.8.0_Linux_x86_64.tar.gz(74.81 MB)
    checksums.txt(304 bytes)
  • 1.7.0(Oct 27, 2022)

    What's Changed

    🚀 New Features

    • Added 31 review rules for MySQL.
    • Support DDL validation in SQL review.
    • Support canceling gh-ost sync tasks.

    🎄 Enhancements

    • Hide similar activities on the issue detail page.
    • Improved performance for creating and approving issues.

    🎠 Community

    • Thanks to @VUHAILAM for feat(sql-review): implement postgresql no duplicate columns in the index. #3037
    • Thanks to @Zheaoli for helping us refactor the issue template for the Bytebase repo. #3050

    Full Changelog

    https://github.com/bytebase/bytebase/compare/release/1.7.0...release/1.6.0

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.7.0_Darwin_arm64.tar.gz(102.08 MB)
    bytebase_1.7.0_Darwin_x86_64.tar.gz(103.51 MB)
    bytebase_1.7.0_Linux_x86_64.tar.gz(70.46 MB)
    checksums.txt(304 bytes)
  • 1.6.0(Dec 19, 2022)

    What's Changed

    🚀 Features

    • Support read-only data source for read-replica instance.

    🎄 Enhancements

    • SQL Editor query performance improvement.
    • Support drag-n-drop to sort the tab in SQL Editor and auto-restore the session.
    • Support displaying the currently connected environment in SQL Editor.
    • Added a hint for the maximum return rows of the query result in SQL Editor.

    🐞 Notable bug fixes

    • Fixed: SQL with a long line in the issue may fail the pre-check task.

    🎠 Community

    Full Changelog

    https://github.com/bytebase/bytebase/compare/release/1.6.0...release/1.5.0

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.6.0_Darwin_arm64.tar.gz(101.97 MB)
    bytebase_1.6.0_Darwin_x86_64.tar.gz(103.40 MB)
    bytebase_1.6.0_Linux_x86_64.tar.gz(70.34 MB)
    checksums.txt(304 bytes)
  • 1.5.0(Sep 29, 2022)

    What's Changed

    🚀 Features

    • Added "LGTM" inspection for issues, allowing multiple members to review the same issue.

    🎄 Enhancements

    • Improved the latency of syncing or adding PostgreSQL databases.
    • Added the "disallow commit" SQL review rule for MySQL. It will disallow users to use "commit" in SQL statements if enabled.
    • Support one-click to disable the automatic backup policy for all databases in one environment.
    • Added task checks for PITR issues.
    • Improved user experience for SQL Editor.

    🐞 Notable bug fixes

    • Fixed an issue where schema drift anomalies can not be removed after creating a new baseline.
    • Fixed canceled tasks' status after restarting a Bytebase server.

    Full Changelog

    https://github.com/bytebase/bytebase/compare/release/1.5.0...release/1.4.0

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.5.0_Darwin_arm64.tar.gz(101.85 MB)
    bytebase_1.5.0_Darwin_x86_64.tar.gz(103.28 MB)
    bytebase_1.5.0_Linux_x86_64.tar.gz(70.21 MB)
    checksums.txt(304 bytes)
  • 1.4.0(Dec 19, 2022)

    What's Changed

    🚀 Features

    • AWS S3 is now supported as a backup storage backend.
    • Added a new onboarding guide.

    🎄 Enhancements

    • Introduced --external-url and removed --host in the startup option. We have consolidated the way to configure the external visible URL. Check out Configure External URL for details.
    • Added support for DDL/DML aliasing for GitOps name template
    • Added "view" in MySQL backup.
    • Progress is now displayed for PITR restore tasks.
    • Improved the performance of SQL Editor query result table.
    • Added resizable columns for SQL Editor query result table.
    • Improved the user experience of the SQL Editor tab bar.
    • When making database changes through VCS, click on the database and you'll be directed to VCS according to the configured file path template.
    • Changed statement type check error level to "Warning".
    • The project key can not be empty.

    🐞 Notable bug fixes

    • Fixed the issue when adding a new file in the VCS with the existing migration schema version, the issue seems done but no tasks are executed.

    🎠 Community

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.4.0_Darwin_arm64.tar.gz(101.54 MB)
    bytebase_1.4.0_Darwin_x86_64.tar.gz(102.96 MB)
    bytebase_1.4.0_Linux_x86_64.tar.gz(69.90 MB)
    checksums.txt(304 bytes)
  • 1.3.2(Sep 1, 2022)

    🚀 Features

    • Integrate PostgreSQL Explain Visualizer 👀.
    • Support in-place backup restore for PostgreSQL.
    • Support PITR to a new database for MySQL.
    • Users can mark an environment as "protected", and a shield badge 🛡️ will show up next to its name.
    • Users can view, copy and export server-side error info on Settings > Workspace > Debug Log.

    🎄 Enhancements

    • Add MySQL and PostgreSQL statement type check to force the separation of ALTER SCHEMA and CHANGE DATA.
    • Support single or double asterisks in VCS commit file path template
    • Add database name search when transferring databases.
    • Support pagination on issue overview page.
    • Improve the performance of issue overview page.
    • Improve the SQL editor auto-completion experience.
    • Improve performance when initializing SQL editor.
    • Improve the performance of syncing PostgreSQL instances.
    • Add SQL Review rule: Support naming length limit (default 63 characters) for MySQL and PostgreSQL.
    • Add SQL Review rule: Allow empty for the index name.
    • Assign newly-created issues to a DBA or owner if possible in GitOps Workflow.
    • Add option to show password on sign-in and sign-up pages.
    • There should be at least one active owner for each workspace.

    🐞 Notable bug fixes

    • Fixed: backups cannot be deleted automatically in some cases.
    • Fixed: GitHub integration listens for wrong branches.
    • Let the migration compatibility rule consider creating the unique key after creating the table

    🎠 Community

    Full Changelog:

    Full Changelog: https://github.com/bytebase/bytebase/compare/1.3.1...1.3.2

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.3.2_Darwin_arm64.tar.gz(99.96 MB)
    bytebase_1.3.2_Darwin_x86_64.tar.gz(101.23 MB)
    bytebase_1.3.2_Linux_x86_64.tar.gz(68.28 MB)
    checksums.txt(304 bytes)
  • 1.3.1(Aug 18, 2022)

    🚀 Features

    • SQL Review is now available on the GitHub Action Marketplace. 🐱

    🎄 Enhancements

    • Speed up MySQL database restore by 20x. 🚀
    • Project owners can now be set as Issue approvers.
    • The "Alter Schema" page now supports searching for databases through a search box.
    • Alter a single database schema is now supported in tenant mode projects.
    • Updated the "Open connection" button in the SQL Editor.
    • Database instance tree in SQL editor now loads significantly faster.
    • Added the "LGTM" button in issue's comment area. 👍

    🐞 Notable bug fixes

    • Disallow baseline migrations from VCS. They should only be triggered from the Bytebase console to re-sync the database schema to address schema drift.
    • Fixed writeback schema to VCS when establishing the baseline.

    🎠 Community

    • Created an example for how to configure SQL Review GitHub Action.

    Full Changelog:

    https://github.com/bytebase/bytebase/compare/release/1.3.0...release/1.3.1

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.3.1_Darwin_arm64.tar.gz(97.08 MB)
    bytebase_1.3.1_Darwin_x86_64.tar.gz(98.28 MB)
    bytebase_1.3.1_Linux_x86_64.tar.gz(65.40 MB)
    checksums.txt(304 bytes)
  • 1.3.0(Aug 4, 2022)

    🚀 Features

    • Support SQL review for PostgreSQL with 13 rules.
    • Support GitHub.com VCS integration and as an authentication provider.
    • Restore a database to the time point before the last migration with just one click.

    🎄 Enhancements

    • Support to set "day of the week" and "backup retention period" for database backup settings.
    • When VCS has a new commit, the corresponding issue created by Bytebase will try to display the creator by matching the email account.
    • Allow modifying task SQL statements in tenant mode.
    • Gh-ost improvement: Display progress for sync task; Fix potential data loss issues; Fix potential long-time table lock.
    • Support multi-selection when transferring databases into a project.
    • Support "Upload SQL" when editing an issue's SQL statement.
    • Support database level schema sync.
    • Optimize schema sync performance.

    🐞 Notable bug fixes

    • [GitOps workflow] Handle token expiration failure when versioning the latest schema back to the repository.

    🎠 Community

    • Added interactive source code tour via Sourcegraph
    • Thanks to @unknwon for implementing the issue #928 ☂️ GitHub Git provider

    Full Changelog:

    https://github.com/bytebase/bytebase/compare/release/1.2.2...release/1.3.0

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.3.0_Darwin_arm64.tar.gz(88.68 MB)
    bytebase_1.3.0_Darwin_x86_64.tar.gz(89.50 MB)
    bytebase_1.3.0_Linux_x86_64.tar.gz(57.45 MB)
    checksums.txt(304 bytes)
  • 1.2.2(Jul 21, 2022)

    What's Changed

    🚀 Features

    • 👻 Added support for gh-ost, online schema migration for large tables (Beta).
    • Updated the way help tips are displayed, using a side drawer instead of the pop-up tips.
    • Added length limit for table/column/index/foreign key/unique key names.
    • Added a new rule to disallow foreign keys on a table.
    • Added a new rule for naming convention when dropping a table.

    🎄 Enhancements

    • The issue creator filter now supports "All" and "Bytebase".
    • The issue list now shows issue id.
    • [VCS workflow] Pop-up window with tips on how to update the issue's SQL statement.
    • [SQL Advise API] Enable database connection.

    🐞 Notable bug fixes

    • Fixed the inability to correctly perform point-in-time recovery on databases, if the database name includes capitalized letters.
    • [VCS workflow] Dedup issue creation when the webhook push event contains the same file multiple times.
    • [VCS workflow] Handle OAuth token expiration when reading VCS file content.

    🎠 Community

    • Thanks to @tisonkun for #1890 🚀

    Changelog

    • 3158eda fix: error in importing markdown files (#1959)
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.2.2_Darwin_arm64.tar.gz(86.39 MB)
    bytebase_1.2.2_Darwin_x86_64.tar.gz(87.09 MB)
    bytebase_1.2.2_Linux_x86_64.tar.gz(55.38 MB)
    checksums.txt(304 bytes)
  • 1.2.1(Jul 7, 2022)

    What's Changed

    🚀 Features

    • In-place Point-in-time Recovery for the database (preview version).
    • Added GET /v1/sql/advise OpenAPI.

    🎄 Enhancements

    • Added cluster support for ClickHouse database creation.
    • Support GitLab merge request commit in GitOps workflow.
    • Clicking on issue, project, database … table rows with cmd/ctrl pressed will open the link in a new tab

    🎠 Community

    • Thanks to @Cluas for:
      • fix(pg): need update current owner after switch database #1689
      • fix: ssl certs missing #1654
    • Thanks to @Innei for:
      • perf: concurrent request improve fetch table data speed #1674
      • pref: concurrent request improve fetch table data speed #1660
      • feat(editor): add spin when editor is loading.#1659
      • pref: lazyload monaco editor speed up navigator to sql editor route #1655

    Full Changelog:

    https://github.com/bytebase/bytebase/compare/release/1.2.0...release/1.2.1

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.2.1_Darwin_arm64.tar.gz(84.72 MB)
    bytebase_1.2.1_Darwin_x86_64.tar.gz(84.88 MB)
    bytebase_1.2.1_Linux_arm64.tar.gz(44.70 MB)
    bytebase_1.2.1_Linux_x86_64.tar.gz(54.09 MB)
    checksums.txt(404 bytes)
  • 1.2.0(Jun 23, 2022)

    What's Changed

    • Schema Review for SQL Editor

    🚀 Features

    • Schema Review for SQL Editor: after setting up the schema review policy, if the SQL statement violates the error rule, Bytebase prevents SQL execution and shows error messages
      • Users can change the rule level from "Error" to "Warning"
        • If the SQL statement violates the schema review policy, the warning message will display "Warning"
        • If schema review passes, Bytebase will run the SQL normally

    🎄 Enhancements

    • Improved SQL Editor styles
    • Improved SQL Editor experience with auto-completion and code formatting on the issue page
    • Support to set SSL connection arguments for ClickHouse instances
    • Support to Approve/Run all tasks in a stage for tenant mode deployment issues
    • Allow users to retry the schema migration task if it fails
    • Will not enforce migration version when users transfer a database to a tenant mode project

    🎠 Community

    • Thanks to @Cluas for:
      • fix: pg ExecuteConetxt do not return err #1540
      • fix: remove early check since we support create database idempotent #1543
    • Thanks to @chiyutianyi for: feat: prometheus integration and pprof registration simplification #1550

    New Contributors

    • @chiyutianyi made their first contribution in #1550

    Full Changelog

    https://github.com/bytebase/bytebase/compare/release/1.1.1...release/1.2.0

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.2.0_Darwin_arm64.tar.gz(81.52 MB)
    bytebase_1.2.0_Darwin_x86_64.tar.gz(81.72 MB)
    bytebase_1.2.0_Linux_arm64.tar.gz(41.63 MB)
    bytebase_1.2.0_Linux_x86_64.tar.gz(50.82 MB)
    checksums.txt(404 bytes)
  • 1.1.1(Jun 10, 2022)

    What's Changed

    • Configure schema review policy for the environment

    🎄 Enhancements

    • Add archive checkers for environment/project/instance
    • UI improvements for tenant-mode deployment
    • Improved PostgreSQL schema dump.
    • The owner of newly created PostgreSQL schemas is the database owner by default.
    • Display applicable conditions for Environment policies.

    🎠 Community

    Thanks to @unknwon for PR: feat: implement FetchCommitByID for GitHub VCS provider

    New Contributors

    • @Megrax made their first contribution in https://github.com/bytebase/bytebase/pull/1482

    Full Changelog

    https://github.com/bytebase/bytebase/compare/1.1.0...1.1.1

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.1.1_Darwin_arm64.tar.gz(81.31 MB)
    bytebase_1.1.1_Darwin_x86_64.tar.gz(81.52 MB)
    bytebase_1.1.1_Linux_arm64.tar.gz(41.48 MB)
    bytebase_1.1.1_Linux_x86_64.tar.gz(50.79 MB)
    checksums.txt(404 bytes)
  • 1.1.0(May 26, 2022)

    What's Changed

    🚀 Features

    • Sync your SQL scripts stored in the linked VCS system in SQL Editor.
    • Star the sheets to save them in a list.
    • List database extensions for PostgreSQL.
    • Support creating a Postgres database with an owner.

    🎄 Enhancements

    • Support changing data for a single database in a tenant project.

    🐞 Bug Fix

    • Cancel the display limitation of 20 repositories when configuring VCS for a project.
    • Prevent accidental clearance of the content in SQL Editor when using the formatting function.
    • Fix bugs that produce duplicate items in a project list.

    🎠 Community

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.1.0_Darwin_arm64.tar.gz(51.40 MB)
    bytebase_1.1.0_Darwin_x86_64.tar.gz(51.71 MB)
    bytebase_1.1.0_Linux_arm64.tar.gz(30.20 MB)
    bytebase_1.1.0_Linux_x86_64.tar.gz(36.55 MB)
    checksums.txt(404 bytes)
  • 1.0.5(May 12, 2022)

    What's Changed

    • Launch the Chinese version of our official website.

    🎄 Enhancements

    • Add custom project webhook.
    • Add "Format on save" checkbox on the issue detail page.
    • Add "Sync schema afterward" checkbox on the instance create and detail page to allow users to disable the database sync if needed.

    🐞 Bug Fix

    • Fix bugs that prevent GitLab providers from being added or modified under certain circumstances, and improve the overall experience of integrating GitLab for users.

    🎠 Community

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.0.5_Darwin_arm64.tar.gz(47.55 MB)
    bytebase_1.0.5_Darwin_x86_64.tar.gz(47.67 MB)
    bytebase_1.0.5_Linux_arm64.tar.gz(29.80 MB)
    bytebase_1.0.5_Linux_x86_64.tar.gz(32.82 MB)
    checksums.txt(404 bytes)
  • 1.0.4(Apr 28, 2022)

    What's Changed

    Support -pg option to boot Bytebase.

    🚀 Features

    • Support --dsn option in CLI.
    • Add installation script of CLI.
    • Add dashboard page to manage all sheets.
    • Owner and DBA can view all projects under Settings.
    • Added /healthz health check endpoint.

    🎄 Enhancements

    • Expose Visit Default Project button explicitly.

    🎠 Community

    Changelog

    • acf5e85 chore: remove ssl_mode disable mode if users don't set SSL (#1170)
    Source code(tar.gz)
    Source code(zip)
    bytebase_1.0.4_Darwin_arm64.tar.gz(47.49 MB)
    bytebase_1.0.4_Darwin_x86_64.tar.gz(47.63 MB)
    bytebase_1.0.4_Linux_arm64.tar.gz(29.75 MB)
    bytebase_1.0.4_Linux_x86_64.tar.gz(32.77 MB)
    checksums.txt(404 bytes)
  • 1.0.3(Apr 14, 2022)

    What's Changed

    🚀 Features

    • Toggle Debug mode at runtime for easier troubleshooting

    🎄 Enhancements

    • [SQL editor] support more types of EXPLAIN queries on the basis of EXPLAIN SELECT, such as EXPLAIN INSERT.

    🎠 Community

    New Contributors

    • @0xflotus made their first contribution in https://github.com/bytebase/bytebase/pull/805
    • @Sepush made their first contribution in https://github.com/bytebase/bytebase/pull/856
    • @milkwine made their first contribution in https://github.com/bytebase/bytebase/pull/874
    • @unknwon made their first contribution in https://github.com/bytebase/bytebase/pull/941
    • @Cluas made their first contribution in https://github.com/bytebase/bytebase/pull/1071

    Full Changelog: https://github.com/bytebase/bytebase/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
    bytebase_1.0.3_Darwin_arm64.tar.gz(45.64 MB)
    bytebase_1.0.3_Darwin_x86_64.tar.gz(45.70 MB)
    bytebase_1.0.3_Linux_arm64.tar.gz(28.03 MB)
    bytebase_1.0.3_Linux_x86_64.tar.gz(30.89 MB)
    checksums.txt(404 bytes)
  • 1.0.2(Mar 31, 2022)

    What's Changed

    • Our official documentation switches from gitbook to bytebase.com/docs. Now developers can follow https://bytebase.com/docs/document-write-guide to commit your changes.

    🚀 Features

    • Support branding customization (available in Team/Enterprise Plan).

    🎄 Enhancements

    • [SQL Editor] Highlight the editing SQL query block.
    • [SQL Editor] Add SQL query format button.
    • Bump tailwind css to v3. JIT mode is also enabled to support arbitrary values.
    • Switch frontend package manager from yarn to pnpm, helping developers to save time and disk spaces.

    🎠 Community

    • Open source an Employee sample database for MySQL https://github.com/bytebase/employee-sample-database-mysql based on https://github.com/datacharmer/test_db. We prepare 2 datasets: -- Full dataset (~170 MB) including 300024 employee records. -- Small dataset (~6 MB) including 10000 employee records.
    • We're working to support online schema change for MySQL using gh-ost. You can find the design doc at https://github.com/bytebase/bytebase/blob/main/docs/design/gh-ost-integration.md
    • Switch license from APL 2.0 to MIT.
    • Thanks to @unknwon for the PR feat: add migration for GITHUB_COM to be a valid Git and role provider #941
    • Thanks to @Sepush for the PR refactor: use script setup&fix type #856

    New Contributors

    • @0xflotus made their first contribution in https://github.com/bytebase/bytebase/pull/805
    • @Sepush made their first contribution in https://github.com/bytebase/bytebase/pull/856
    • @milkwine made their first contribution in https://github.com/bytebase/bytebase/pull/874
    • @unknwon made their first contribution in https://github.com/bytebase/bytebase/pull/941

    Full Changelog: https://github.com/bytebase/bytebase/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Mar 14, 2022)

    What's Changed

    🚀 Features

    • Support instance read-only connection. Once configured, Bytebase will use this user to query databases in SQL Editor and will use it in all read-only scenarios in the future.

    🎄 Enhancements

    • [Tenant Mode] Enable Data Change (DML) for tenant mode projects.
    • [SQL Schema Review] Allow users to edit SQL statements.
    • [SQL Schema Review] Allows retry for failed migration with invalid SQL statement.
    • [SQL Editor] Change the save sheet logic. Save the sheet when clicking the save button or using the shortcut (CMD + S).
    • [Installation Improvement] Improved installation on Linux platform.

    🐞 Notable bug fixes

    • Several security enhancements.

    🎠 Community

    New Contributors

    • @0xflotus made their first contribution in https://github.com/bytebase/bytebase/pull/805
    • @Sepush made their first contribution in https://github.com/bytebase/bytebase/pull/856

    Full Changelog: https://github.com/bytebase/bytebase/compare/v1.0.0...v1.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Mar 8, 2022)

    What's Changed

    Announce our Team Plan

    With over a year of hard work and 3500+ commits, we finally reach the milestone to announce our 1.0.0 version and our Team Plan. The team plan includes:

    • Role-Based-Access-Control (RBAC) with Owner, DBA, Developer roles catering to the collaboration during database development.
    • GitLab login.
    • SQL backward compatibility check and schema drift detection.
    • Per-environment schema review and backup policy.

    The price starts at $29 per instance per month. Please visit our pricing page for more details.

    Enhancement

    • (SQL Editor) Add an EXPLAIN button adjacent to the run button.
    • (SQL Editor) Redesign the database connection navigation and connection status.
    • (SQL Editor) Run non-SELECT SQL navigate to the different workflow.
    • Improved tenant project pipeline UI.
    • Switch to use PostgreSQL for storing Bytebase metadata. This enables us to handle more complex scenarios down the road.
    • Add quickstart for preparing an environment including Bytebase, GitLab (macOS Apple Silicon) and Clickhouse Cluster.
    • Sync project members from configured VCS (GitLab).

    Bug fix

    • (SQL Editor) Query result table cover display.
    • (SQL Editor) Query result table attributes order.

    Sunset

    • Retire issue rollback feature.

    Community

    New Contributors

    • @Juneezee made their first contribution in https://github.com/bytebase/bytebase/pull/264
    • @wuhan005 made their first contribution in https://github.com/bytebase/bytebase/pull/340
    • @qsliu2017 made their first contribution in https://github.com/bytebase/bytebase/pull/399
    • @cosmtrek made their first contribution in https://github.com/bytebase/bytebase/pull/410
    • @d-bytebase made their first contribution in https://github.com/bytebase/bytebase/pull/436
    • @stormcat24 made their first contribution in https://github.com/bytebase/bytebase/pull/453
    • @tisonkun made their first contribution in https://github.com/bytebase/bytebase/pull/611
    • @raysarl made their first contribution in https://github.com/bytebase/bytebase/pull/624
    • @Innei made their first contribution in https://github.com/bytebase/bytebase/pull/668
    • @snyk-bot made their first contribution in https://github.com/bytebase/bytebase/pull/685
    • @dragonly made their first contribution in https://github.com/bytebase/bytebase/pull/703

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.10.0...v1.0.0

    Source code(tar.gz)
    Source code(zip)
  • 0.13.0(Feb 17, 2022)

    What's changed

    New Features

    • SQL editor supports sheet sharing.
    • Remodel query saving as sheets.

    Enhancement

    • Searchable member selector.
    • Database label related features are now available for standard mode projects now.
    • Show comprehensive schema comparison when schema drift is detected.
    • Add quickstarts for MySQL and Clickhouse.

    Bug fix

    • Prevent XSS in SQL editor.
    • Filter improper authorization of user inbox.

    Community

    • Our gratitude goes to @boyapatisandeep for the bug report https://github.com/bytebase/bytebase/issues/543 and @NickStepanov for bringing up discussion https://github.com/bytebase/bytebase/discussions/350
    • Thanks to @Juneezee https://github.com/bytebase/bytebase/pull/264
    • @wuhan005 https://github.com/bytebase/bytebase/pull/340
    • @cosmtrek https://github.com/bytebase/bytebase/pull/410
    • @stormcat24 https://github.com/bytebase/bytebase/pull/453 for the contribution!

    New Contributors

    • @Juneezee made their first contribution in https://github.com/bytebase/bytebase/pull/264
    • @wuhan005 made their first contribution in https://github.com/bytebase/bytebase/pull/340
    • @qsliu2017 made their first contribution in https://github.com/bytebase/bytebase/pull/399
    • @cosmtrek made their first contribution in https://github.com/bytebase/bytebase/pull/410
    • @stormcat24 made their first contribution in https://github.com/bytebase/bytebase/pull/453
    Source code(tar.gz)
    Source code(zip)
  • 0.12.0(Jan 20, 2022)

    What's Changed

    New Features

    Multi-tenancy Database Management

    • Intelligent database management for tenants using identical schemas.
    • Creating and managing database labels used for searching resources and identifying tenants.
    • Flexible tenant database deployment such as multi-stage regional deployments.
    • Schema updates are applied to all tenants consistently. Adding a new tenant database will use the same schema from existing tenants.

    SQL Editor

    • Support keeping multiple editors under different tabs.
    • Jump to the schema change (DDL) / data change (DML) workflow from the SQL Editor.
    • Project based permission control.
    • Save Query: support saving the SQL statement, search it with highlight and delete.
    • Query History: record all executed queries.

    Signup and login via GitLab EE/CE

    Data change (DML) workflow

    Enhancement

    • Surface detailed error to the UI when --debug is enabled when starting Bytebase

    Bug fix

    • Fix the VCS schema write back after migration when the git branch name contains slash (e.g. features/foo) https://github.com/bytebase/bytebase/issues/396
    • Fix MySQL8.0 window functions syntax error https://github.com/bytebase/bytebase/issues/175

    Community

    • We are on the list of “The fastest-growing open-source startups in Q4 2021” by Runa Capital https://runacap.com/ross-index/q4-2021/

    New Contributors

    • @Juneezee made their first contribution in https://github.com/bytebase/bytebase/pull/264
    • @wuhan005 made their first contribution in https://github.com/bytebase/bytebase/pull/340
    • @cosmtrek made their first contribution in https://github.com/bytebase/bytebase/pull/410

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.11.0...0.12.0

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Jan 6, 2022)

    What's Changed

    New Features

    (Preview) SQL Editor, It provides the following features:

    • Auto-complete and context menu.
    • Run SQL statement (only allow SELECT query) and display the result in a table view.
    • Navigate among different database connections via the left tree panel.
    • Display table schema info on the bottom left side panel.

    Enhancement

    • Refactor the underlying VCS module to make it pluggable.
    • kbar quickstart

    Bug fix

    • Fix the issue when we are unable to write back the latest schema to the Git repository after the migration succeeds.

    Community

    New Contributors

    • @Juneezee made their first contribution in https://github.com/bytebase/bytebase/pull/264

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.10.0...0.11.0

    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Dec 24, 2021)

    What's Changed

    New Features

    • 你好, 中文 Chinese Language Support
    • Earliest allowed time for executing a task

    Enhancement

    • Logging activity for altering SQL statement
    • Modal showing detailed check status

    Bug Fixes

    • Fix for Postgres CREATE DATABASE cannot run inside a transaction block
    • Fix for auto-increment starting value in MySQL schema
    • Auto refresh GitLab access token on expiration

    Community

    • Our gratitude goes to @linucksrox especially for the detailed bug report https://github.com/bytebase/bytebase/issues/108 and @suzaku again for continuous contribution

    New Contributors

    • @boojack made their first contribution in https://github.com/bytebase/bytebase/pull/219

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.9.0...0.10.0

    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Dec 9, 2021)

    NOTE: This version has some breaking schema change, please contact [email protected] and we will help you manually upgrade to the new version.

    Installation guide

    https://docs.bytebase.com/install/docker

    What's Changed

    New Features

    • Add cmd+k command bar experience
    • Add database webhook
    • Gitpod Code Preview

    Notable Bug Fixes

    • Fix tooltip position
    • Add the missing EVENT privilege to the instruction for configuring the MySQL user connection

    Community

    • Special thanks to @suzaku for PRs

    New Contributors

    • @zhouzilong2020 made their first contribution in https://github.com/bytebase/bytebase/pull/36
    • @spinningbot made their first contribution in https://github.com/bytebase/bytebase/pull/42
    • @LiuJi-Jim made their first contribution in https://github.com/bytebase/bytebase/pull/50
    • @xiaoluoboding made their first contribution in https://github.com/bytebase/bytebase/pull/49
    • @suzaku made their first contribution in https://github.com/bytebase/bytebase/pull/54

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.8.1...0.9.0

    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Nov 15, 2021)

    NOTE: If you upgrade from 0.8.x, no migration needed. If you upgrade before 0.8.x, there is some breaking schema change, please contact [email protected] and we will help you manually upgrade to the new version.

    Installation guide

    https://docs.bytebase.com/install/docker

    What's Changed

    Branding update

    Enhancements

    • New illustration for signin/signup page, 403, 404 pages.
    • New wizard on home page.
    • Properly populate instance default host in create instance form.

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.8.0...0.8.1

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Nov 10, 2021)

    NOTE: This new release has some breaking schema change. If you upgrade from previous version, please contact [email protected] and we will help you manually upgrade to the new version.

    Installation guide

    https://docs.bytebase.com/install/docker

    Features

    • Add Snowflake support.

    Notable bug fixes

    • Mark the migration history as failed if the migration did fail.
    • Fix the PostgreSQL schema sync from AWS RDS and Google Cloud SQL #30.
    • Allow Bytebase to run on non-https host #31.

    Enhancements

    • Improve migration history table layout and surface migration SQL from the list.

    New Contributors

    • @RainbowDashy made their first contribution in https://github.com/bytebase/bytebase/pull/32

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.7.2...0.8.0

    Source code(tar.gz)
    Source code(zip)
  • 0.7.2(Oct 25, 2021)

    NOTE: If you upgrade from 0.7.x, no migration needed. If you upgrade before 0.7.x, there is some breaking schema change, please contact [email protected] and we will help you manually upgrade to the new version.

    Installation guide

    https://docs.bytebase.com/install/docker

    What's Changed

    New Features

    • Add ClickHouse® support. ClickHouse is an open-source, high performance columnar OLAP database management system for real-time analytics using SQL and it has a similar schema management requirement see #14.

    Enhancements

    • Refresh the database list immediately after updating the instance connection info.
    • Add shortcut button to create new database from the instance detail page.
    • Hide empty password checkbox in instance creation form. User can already leave the password field empty, so there is no need to have an extra checkbox.

    Full Changelog: https://github.com/bytebase/bytebase/compare/0.7.1...0.7.2

    Source code(tar.gz)
    Source code(zip)
Owner
Bytebase
Web-based, zero-config, dependency-free database schema change and version control management tool for teams.
Bytebase
A flexible and powerful SQL string builder library plus a zero-config ORM.

SQL builder for Go Install Usage Basic usage Pre-defined SQL builders Build SQL for MySQL, PostgreSQL or SQLite Using Struct as a light weight ORM Nes

Huan Du 906 Dec 30, 2022
Zero boilerplate database operations for Go

(Now compatible with MySQL and PostgreSQL!) Everyone knows that performing simple DATABASE queries in Go takes numerous lines of code that is often re

null 357 Jan 2, 2023
Podman based development-only dependency manager for Linux.

Tent is a CLI tool for running development dependencies such as MySQL, Mongo, ElasticSearch etc inside pre-configured containers using simple one

Farhan Hasin Chowdhury 109 Aug 30, 2022
GitHub's Online Schema Migrations for MySQL

gh-ost GitHub's online schema migration for MySQL gh-ost is a triggerless online schema migration solution for MySQL. It is testable and provides paus

GitHub 10.7k Jan 4, 2023
Manage Schema for KubeDB managed Databases

schema-manager Manage Schema for KubeDB managed Databases Installation To install KubeDB, please follow the guide here. Using KubeDB Want to learn how

Kubernetes Database 8 Feb 19, 2022
Go library that stores data in Redis with SQL-like schema

Go library that stores data in Redis with SQL-like schema. The goal of this library is we can store data in Redis with table form.

kaharman 2 Mar 14, 2022
[mirror] the database client and tools for the Go vulnerability database

The Go Vulnerability Database golang.org/x/vulndb This repository is a prototype of the Go Vulnerability Database. Read the Draft Design. Neither the

Go 224 Dec 29, 2022
Database - Example project of database realization using drivers and models

database Golang based database realization Description Example project of databa

Denis 1 Feb 10, 2022
Stash large datasets on GitHub for free, quick, and easy download 🐿

squirrel Stash large datasets on GitHub for free, quick, and easy download ?? Install To install squirrel, run the following: curl ... Usage Create a

wwm 0 Dec 31, 2021
Package sqlite is a CGo-free port of SQLite.

sqlite Package sqlite is a CGo-free port of SQLite. SQLite is an in-process implementation of a self-contained, serverless, zero-configuration, transa

Joe 3 Nov 30, 2021
A simple Golang-based application that queries a PostgreSQL database

Qwik-E-Mart Demo App A simple Golang-based application that queries a PostgreSQL database named qwikemart to read and return customer data stored in t

Joe Garcia 0 Nov 6, 2021
🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts

dbbench Table of Contents Description Example Installation Supported Databases Usage Custom Scripts Troubeshooting Development Acknowledgements Descri

Simon Jürgensmeyer 80 Dec 30, 2022
Dumpling is a fast, easy-to-use tool written by Go for dumping data from the database(MySQL, TiDB...) to local/cloud(S3, GCP...) in multifarious formats(SQL, CSV...).

?? Dumpling Dumpling is a tool and a Go library for creating SQL dump from a MySQL-compatible database. It is intended to replace mysqldump and mydump

PingCAP 267 Nov 9, 2022
Goose database migration tool - fork of https://bitbucket.org/liamstask/goose

goose Goose is a database migration tool. Manage your database schema by creating incremental SQL changes or Go functions. Goals of this fork github.c

Pressly Inc. 3.3k Dec 30, 2022
The EVEmu Database Tool

EVEDBTool - The EVEmu Database Tool This is a tool written in Go to manage the installation, versioning and update of the EVEmu database. A pre-built

EvEmu Project 5 Sep 27, 2022
A tool I made to quickly store bug bounty program scopes in a local sqlite3 database

GoScope A tool I made to quickly store bug bounty program scopes in a local sqlite3 database. Download or copy a Burpsuite configuration file from the

null 3 Nov 18, 2021
A database connection tool for sensitive data

go-sql 用于快速统计数据库行数、敏感字段匹配、数据库连接情况。 usage ./go-sql_darwin_amd64 -h ./go-sql_darwin_amd64 -f db.yaml -k name,user ./go-sql_darwin_amd64 -f db.yaml --min

null 5 Apr 4, 2022
A Go rest API project that is following solid and common principles and is connected to local MySQL database.

This is an intermediate-level go project that running with a project structure optimized RESTful API service in Go. API's of that project is designed based on solid and common principles and connected to the local MySQL database.

Kıvanç Aydoğmuş 22 Dec 25, 2022