查看原文
其他

5 分钟上手 Bytebase,完成第一次 Schema 变更

Adela Bytebase 2024-02-05

在本教程中,你将通过使用 Bytebase 默认提供的示例数据库,快速且轻松地学会如何使用这款产品。

在 Docker 中启动

1. 本地启动 Docker。(如没有需要先安装 https://www.docker.com/)

2. 在终端中执行下面的命令: (请将 2.13.1 替换成最新 Bytebase 版本)

docker run --init \ --name bytebase \ --publish 8080:8080 \ --volume ~/.bytebase/data:/var/opt/bytebase \ bytebase/bytebase:2.13.1

当终端显示以下信息时,表示启动成功。

██████╗ ██╗ ██╗████████╗███████╗██████╗ █████╗ ███████╗███████╗██╔══██╗╚██╗ ██╔╝╚══██╔══╝██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝██████╔╝ ╚████╔╝ ██║ █████╗ ██████╔╝███████║███████╗█████╗██╔══██╗ ╚██╔╝ ██║ ██╔══╝ ██╔══██╗██╔══██║╚════██║██╔══╝██████╔╝ ██║ ██║ ███████╗██████╔╝██║ ██║███████║███████╗╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝Version 2.13.1 has started on port 8080 🚀

现在你已经通过 Docker 部署并运行了 Bytebase。

3. 在本地浏览器的 8080 端口打开 Bytebase,填写信息并点击注册管理员。你将被重定向到工作空间。

4. 按照底部的新手任务点击浏览,或者现在就按x关闭它。你可以点击右上角的AD头像,然后在下拉菜单中点击新手任务来重新打开它。

一个工单包含两个阶段

1. 点击左侧边栏的我的工单,然后选择默认创建的 SAM-101。


2. 这个工单正在等待执行。它包含两个阶段的流程:

  • Test 阶段:用于 Test Sample 实例的 hr_test 数据库

  • Prod 阶段:用于 Prod Sample 实例的 hr_prod 数据库

默认情况下,处于活跃状态的是 Test 阶段。

3. 切换到 Prod 阶段,你会发现两个阶段使用了相同的 SQL 语句,但目标数据库不同。在 Prod 阶段的 SQL 审核中,你可能还会看到一个警告标志。这是因为在创建工单时,Bytebase 会自动进行任务检查,而 SQL 审核是其中的一项。


4. 点击警告标志可以查看具体详情。如果你好奇为什么只有 Prod 阶段出现警告标志,这是因为 SQL 审核默认只针对 Prod 环境进行配置。你可以点击右上角的设置(齿轮图标),再选择安全&策略 > SQL 审核策略来了解更多。

在 Test 阶段发布

1. 回到 Test 阶段,点击发布。在确认对话框中再次点击发布

2. SQL 应用完成后,测试阶段会显示一个绿勾标记。点击查看变更,你可以看到前后的差异。


在 Prod 阶段发布

针对 SQL 审核的结果,在 Prod 阶段有两种发布方式。

1. 如果你对 SQL 很有信心,可以直接点击发布。勾选仍要发布,然后在确认对话框中再次点击发布

2. 另一种方式是编辑 SQL。点击 SQL 上方的编辑,并添加 NOT NULL 子句。修改后的 SQL 将如下所示:

ALTER TABLE employee ADD COLUMN IF NOT EXISTS email TEXT NOT NULL DEFAULT '';

点击保存,系统将重新执行检查。这次 SQL 审核将通过,发布也会自动进行。工单状态也会变为完成。


你可能好奇为什么会自动发布,这是因为在社区版中,如果 SQL 审核通过,则发布策略是自动执行。你可以在环境中查看。

下一步

现在你已经成功完成了在 Bytebase 中的第一次 schema 变更,这是其系统核心工作流,进一步学习可以阅读 用 Bytebase 做数据库 schema 变更 。
告别手搓!Postgres 一站式测试数据生成方案
浪费出奇迹的国产数据库们
生产环境如何部署 Bytebase
火烧眉毛,我是如何在周六删了公司的数据库

继续滑动看下一个

5 分钟上手 Bytebase,完成第一次 Schema 变更

Adela Bytebase
向上滑动看下一个

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

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