用 Bytebase 实现批量、多环境、多租户数据库的丝滑变更
创始人
2024-11-16 02:37:20
0

Bytebase 提供了多种功能来简化批量变更管理,适用于多环境或多租户情况。本教程将指导您如何使用 部署配置 和 数据库组 在不同场景下进行数据库批量变更。

file

默认流水线 vs 部署配置

file

图片数据库 vs 数据库组

1. 准备

  1. 请确保已安装 Docker,如果本地没有重要的现有 Bytebase 数据,可以通过 rm -rf ~/.bytebase/data 从头开始。

  2. 这是企业版的功能,您可以通过添加小助手申请(见文末二维码)。

2. 过程

第一步 - 启动 Bytebase 并准备数据库

为了演示批量更改,我们需要先准备一些数据库。

  1. 复制并粘贴命令,通过 Docker 启动 Bytebase。
docker run --rm --init \  --name bytebase  --publish 8080:8080 --pull always \  --volume ~/.bytebase/data:/var/opt/bytebase \  bytebase/bytebase:2.22.0(这里的 2.22.0 可以替换成最新版本)
  1. 注册第一个账户,它将自动获得工作区管理员角色。
  2. Bytebase 提供了两个 PostgreSQL 实例示例。点击顶部栏的选择项目,在弹出窗口中点击新建,然后点击创建。

file

  1. 进入项目,点击左侧栏上的数据库 > 数据库。目前还没有属于此项目的数据库。点击新建数据库。要模拟真实世界的场景,首先创建 demo-test,它应在样本测试实例上创建。将自动创建一个工单,因为我们没有配置任何发布机制或自定义审批工作流程,所以它会自动发布。工单创建完成后,数据库将被建立。

file

file

  1. 用同样的方法,创建 demo-prod-1、demo-prod-2、demo-prod-3、demo-prod-4、demo-prod-5、demo-prod-6、other-prod-1 和 other-prod-2。

file

  1. 选择 demo-prod-1 和 demo-prod-2 ,单击编辑标签。指定:标签键「位置」,值「asia」。用同样的方法将 eu 和 na 分配给其他 demo-prod 数据库。

file

file

第二步 - 部署配置 (社区版)

这部分将向你展示部署配置给发布流水线带来的不同。

  1. 进入项目中的 数据库 > 数据库,选择 demo-test 和 demo-prod-1~demo-prod-6 并单击编辑 schema 。填写 SQL,然后单击创建。可以看到流水线有两个阶段 -- 测试和生产,并且有六个数据库,这意味着 SQL 将同时在这六个数据库运行。
CREATE TABLE t2("id" INTEGER NOT NULL);

file

file

  1. 如果想先变更亚洲 asia,然后更改欧盟 eu,最后更改北美 na,可以留在项目中,单击左侧栏上的部署配置,添加带有标签过滤功能的新阶段。

file

  1. 到项目中的数据库 > 数据库,选择 demo-test 和 demo-prod-1~demo-prod-6 并单击编辑模式。填写 SQL,然后单击创建。可以看到流程有四个阶段,就像我们配置的那样。
CREATE TABLE t1("id" INTEGER NOT NULL);

file

第三步 - 数据库组(企业版)

这部分开始需要升级系统到企业版才能激活。

  1. 点击右上角的设置齿轮图标,然后点击工作区 > 订阅上传许可。

  2. 单击铅笔图标,选择要启用企业功能的实例,然后单击确认。这里是将许可分配给了实例,为对应实例开启企业版功能。

file

  1. 到项目中的数据库 > 组,单击新建数据库组,填写以下字段,向下滚动时,你会看到有一个选项多租户,暂时不要选中它,然后单击保存。

名称:demo-prod-all

条件:环境 == Prod,数据库名称以 demo-prod- 开头

file

file

  1. 到项目中的 数据库 > 组,单击编辑 schema,选择数据库组,然后单击下一步。

file

  1. 可以看到六个数据库分为三个阶段。填写 SQL,然后单击创建。
CREATE TABLE t3("id" INTEGER NOT NULL);

file

  1. 到项目中的数据库 > 数据库,然后单击新建数据库。创建属于数据库组的数据库 demo-prod-7。检查 schema,它是空的。

file

第四步 - 多租户数据库组(企业版)

  1. 数据库组启用多租户功能后,新数据库将自动继承数据库组的 schema。

  2. 到项目中的数据库 > 组,单击配置,这次我们选中多租户,然后单击确认。

  3. 到项目中的数据库 > 数据库,然后单击新建数据库。创建属于数据库组的数据库 demo-prod-8。检查 schema,它与其他 demo-prod 数据库的schema 相同。请注意,即使在工单执行或称重问题,新数据库也会被添加。

file

总结

现在,你已学会如何使用部署配置和数据库分组在 Bytebase 中运行批量更改。动手试试吧!


💡 更多资讯,请关注 Bytebase 公号:Bytebase

相关内容

热门资讯

黑科技辅助!wpk辅助神器(透... 黑科技辅助!wpk辅助神器(透视)软件透明辅助挂(本来是真的有挂)-哔哩哔哩是一款可以让一直输的玩家...
5分钟了解“创思维正版辅助器下... 5分钟了解“创思维正版辅助器下载”详细透视开挂辅助安装-哔哩哔哩;一、创思维正版辅助器下载有挂的是的...
两分钟科普!wpk真吗,哈糖大... 两分钟科普!wpk真吗,哈糖大菠萝可以开挂吗,曝光教程(发现有挂)-哔哩哔哩哈糖大菠萝可以开挂吗辅助...
第一分钟了解(昆仑大厅)外挂辅... 第一分钟了解(昆仑大厅)外挂辅助插件(透视)详细教程(2022已更新)(哔哩哔哩);亲真的是有正版授...
黑科技辅助!wpk俱乐部长期盈... 黑科技辅助!wpk俱乐部长期盈利打法(透视)软件透明挂黑科技(切实存在有挂)-哔哩哔哩;1、让任何用...
第6分钟了解“功夫川嘛辅助器”... 第6分钟了解“功夫川嘛辅助器”详细透视开挂辅助器-哔哩哔哩;人气非常高,ai更新快且高清可以动的一个...
第五分钟辅助!xpoker辅助... 第五分钟辅助!xpoker辅助,德州透视插件,攻略教程(有挂方法)-哔哩哔哩德州透视插件辅助器中分为...
两分钟了解(皮皮跑胡子)外挂透... 两分钟了解(皮皮跑胡子)外挂透明挂辅助工具(辅助挂)透明挂教程(2020已更新)(哔哩哔哩);皮皮跑...
黑科技辅助!微扑克可以加入俱乐... 您好,微扑克可以加入俱乐部这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
8分钟了解“掌中乐游戏中心辅助... 8分钟了解“掌中乐游戏中心辅助器”详细透视开挂辅助脚本-哔哩哔哩;1、这是跨平台的掌中乐游戏中心辅助...