数据库 schema 迁移指修改管理数据库结构的变更,包括为数据库添加视图或表、更改字段类型或定义新约束。Bytebase 提供了可视化 GUI 方便迁移数据库 schema,本教程将展示如何使用 Bytebase 为 schema 迁移配上 SQL 审核,自定义审批流,发布策略,指定发布时间等功能。
Bytebase 提供社区版、专业版和企业版。更进阶的版本解锁了更多可以搭配迁移 schema 模式的功能。
运行 Docker,并启动 Bytebase 的 Docker 容器:
docker run --init \
--name bytebase \
--restart always \
--publish 5678:8080 \
--health-cmd "curl --fail http://localhost:8080/healthz || exit 1" \
--health-interval 5m \
--health-timeout 10s \
--volume ~/.bytebase/data:/var/opt/bytebase \
bytebase/bytebase:2.11.1 \
--data /var/opt/bytebase \
--port 8080
通过 Docker 启动 Bytebase 后,使用 localhost:5678
访问主页,请先注册一个账户,此账户将自动被授予工作空间的管理员角色。
ALTER TABLE employee.employee
ADD Email varchar(255);
ALTER TABLE employee.employee
ADD Email varchar(255) NOT NULL;
使用专业版,你会获得两个额外的功能(出于 demo 需要,这里我们使用免费的 14 天的企业试用版):
可以指定多个预定义的角色来手动发布变更。在环境的 Prod 页面中,选择特定手工发布,勾选允许发布变更的角色,点击更新。
可以指定特定时间来发布变更。前往 Sample Project,我们为 Prod 环境的 employee 表添加 Country 列。
ALTER TABLE employee.employee
ADD Country varchar(255) NOT NULL;
可在工单页面指定发布时间。
如果你希望审核流程更加定制化,比如基于 SQL 语句类型,变更影响的行数等,可以在「自定义审批」中配置(友情提醒:请先在「实例」页面为需要使用自定义审批的实例分配证书。否则自定义审批将无法启用)。
前往设置⚙️ > 成员,添加一个 DBA 角色,因为稍后需要 DBA 批准发布。
进入环境 Prod ,现在你可以解锁第三个选项了!即由自定义审批流的最后一个审批人手动发布策略。选择该选项。
ALTER TABLE employee.employee
ADD City varchar(255) NOT NULL;
你现在已经了解了如何使用 Bytebase 进行数据库 schema 迁移。Bytebase 还提供更多功能,欢迎来试试:
更多资讯,请关注 Bytebase 公号:Bytebase