查看原文
其他

bb - 管理数据库的 Bytebase 命令行 CLI

Candy Bytebase 2022-05-27

bb 简介


Bytebase 是一款开源数据库工具,它面向整个研发组织设计,旨在帮助 DBA 和应用开发者更安全、更高效地管理应用开发生命周期中的数据库操作 (Database DevOps)。
2021 年 7 月 13 日 Bytebase 发布的第一个版本 v0.1.0 提供了基于 web 的用户界面,10 个月后,Bytebase 推出第二种用户界面 - CLI,命名为 bbbb 不仅为开发者带来了熟悉的操作感,还可以把针对 MySQL 和 PostgreSQL 的数据库管理操作集成到各种 CI/CD 系统 (例如 GitLab CI,GitHub Actions,Jenkins) 的工作流中。


bb 安装和使用


不同于市面上其他类似 CLI 如 Liquibase, Flyway 需要预安装 JVM 才能运行,bb 是一个完全独立的二进制文件,没有任何环境依赖。
目前,bb 支持数据库 MySQL 和 PostgreSQL,提供以下 3 类数据库操作命令。未来,我们将支持更多功能。
  • migrate:迁移数据库 schema。

  • dump:导出数据库 schema 和数据。

  • restore:恢复数据库 scheme 和数据,和 dump 对应。
bb 既可直接通过 Terminal 使用,也可以集成到 CI/CD 系统中。下文以本地 Terminal 为例,介绍 bb 的安装和使用。bb 集成到 CI/CD 系统的操作详见 GitLab CI 集成 bb (https://www.bytebase.com/docs/cli/integrate-with-gitlab)。

安装 bb

在 macOS 或者 Linux 的终端中运行安装命令,将 bb 安装到路径/usr/local/bin

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bytebase/bytebase/HEAD/scripts/install_bb.sh)"



检查安装结果

安装完成后,运行 help 命令查看帮助信息:
$ bb --help



数据库 Schema 迁移

假设 MySQL 数据库服务器已启动,数据库 bytebase_test_todo 有一个名为 author 的表 [具体操作参见 Getting Started(https://www.bytebase.com/docs/cli/overview#start-a-local-mysql-server-via-docker)]。
运行 dump 命令查看 author 表:
运行 migrate 命令为 author 表新增 1 列 phone_no:
$ bb migrate \ --dsn mysql://root:passwd@localhost:3306/bytebase_test_todo \ --command "ALTER TABLE author ADD COLUMN phone_no VARCHAR(15);"

再次运行 dump 命令查看修改后的结果:

$ bb dump --dsn mysql://root:passwd@localhost:3306/bytebase_test_todo --schema-only



Bytebase CLI bb 用户手册参见 Getting Started (https://www.bytebase.com/docs/cli/overview)。

通过 Webhook 接收数据库变更通知

DBA, Database and Developer 十日谈

从 SQLite 到 PostgreSQL

康威定律的边界 - Project (项目) 的设计脉络


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存