前言
Bytebase 是一个现代化的数据库 schema 变更和版本控制管理工具。
主要功能
- 数据库变更管理:
可以方便地进行数据库结构的变更,如添加表、修改列、创建索引等操作。通过清晰的变更流程,确保数据库的变更能够安全、有序地进行。
提供可视化的界面,让开发人员和数据库管理员可以直观地看到变更的内容和影响。
- 版本控制:
对数据库 schema 进行版本管理,类似于代码的版本控制系统。可以记录每次变更的历史,方便回滚到特定的版本。
支持团队协作,多个成员可以共同管理数据库的变更,确保变更的一致性和可追溯性。
- 环境管理:
可以管理不同的数据库环境,如开发环境、测试环境和生产环境。确保在不同环境中的数据库结构保持一致。
方便地进行环境之间的数据库同步和迁移。
- 安全和权限管理:
提供细粒度的权限控制,确保只有授权的用户才能进行数据库变更操作。
可以对敏感数据进行加密和访问控制,提高数据库的安全性。
- 集成和自动化:
可以与常见的开发工具和 CI/CD 流程集成,实现自动化的数据库变更管理。
支持通过 API 进行扩展和定制,满足不同的业务需求。
提示:以下是本篇文章正文内容,下面案例可供参考
一.Docker部署Bytebase
从官网可以知道 部署还是很方便的,但是需要一定改进。
1.Docker 配置
由于中国网络的一些问题,需要修改 docker engine 具体 建见之前的 我写的说明
docker Desktop报错 error pulling image configuration 处理
2. pull 数据
目前官网是 https://bytebase.cc/docs/get-started/self-host/ 下
docker run:用于启动一个新的 Docker 容器。 --rm:当容器退出时自动删除容器。 --init:为容器添加一个 init 进程来处理信号和传递信号给应用进程,以确保容器内的应用能正确地处理信号和优雅地退出。 --name bytebase:为容器指定一个名称为 “bytebase”。 --publish 8080:8080:将容器的 8080 端口映射到主机的 8080 端口,这样可以通过主机的 8080 端口访问容器内的服务。 --pull always:始终尝试拉取最新版本的镜像。 --volume ~/.bytebase/data:/var/opt/bytebase:将主机上的~/.bytebase/data目录挂载到容器内的/var/opt/bytebase目录,实现数据的持久化存储和共享。 bytebase/bytebase:2.22.2:指定要运行的镜像名称和标签,这里是名为 “bytebase” 的镜像,版本号为 2.22.2
但是可以知道 如果根据官网说的 --rm 下次可能有要重新安装的 ,所以这里改为 :
docker run --restart=always --init --name bytebase --publish 8080:8080 --pull always --volume ~/.bytebase/data:/var/opt/bytebase bytebase/bytebase:2.22.2 代码的解释: docker run:用于启动一个新的 Docker 容器。 --restart=always:容器总是在退出后自动重新启动,确保服务的高可用性。 --init:为容器添加一个 init 进程来处理信号和传递信号给应用进程,以确保容器内的应用能正确地处理信号和优雅地退出。 --name bytebase:为容器指定一个名称为 “bytebase”。 --publish 8080:8080:将容器的 8080 端口映射到主机的 8080 端口,这样可以通过主机的 8080 端口访问容器内的服务。 --pull always:始终尝试拉取最新版本的镜像。 --volume ~/.bytebase/data:/var/opt/bytebase:将主机上的~/.bytebase/data目录挂载到容器内的/var/opt/bytebase目录,实现数据的持久化存储和共享。 bytebase/bytebase:2.22.2:指定要运行的镜像名称和标签,这里是名为 “bytebase” 的镜像,版本号为 2.22.2。
3. 执行部署
copy 命令
直到出现 Bytebase
4. 打开浏览器 部署完成
二、使用步骤
1.注册超管
输入邮箱,密码和 用户名
2.配置 Configure External URL
在生产环境中运行 Bytebase 时,你不应该让运行 Bytebase 服务器的节点直接被客户端访问。相反,你应该设置一个网关,如 Nginx 或 Caddy,来将请求转发到 Bytebase。
从逻辑上讲,你需要配置两个端点,用户用于访问 Bytebase 控制台的外部 URL,以及用于 GitOps 工作流的版本控制系统(VCS)推送 Webhook 事件的 GitOps Webhook URL。前者通常从内部网络访问,而如果使用 GitHub.com 或 GitLab.com,后者可能来自外部网络。如果它们都可以通过同一个端点访问,那么你只需要配置外部 URL。
网络图
这里举个例子 这里就初步安装好了
总结
以上就是 在windows 环境下的配置 ,其实这个工具越来越多被人知晓
也 适用很多场景
- 软件开发团队:
在软件开发过程中,数据库结构经常需要变更。Bytebase 可以帮助团队有效地管理这些变更,确保开发、测试和生产环境的数据库一致性。
- 数据库管理员:
对于数据库管理员来说,Bytebase 提供了一个集中的管理平台,可以更好地控制数据库的变更,提高数据库的稳定性和安全性。
- 企业级应用:
在企业级应用中,数据库的变更管理至关重要。Bytebase 可以满足企业对数据库管理的高要求,确保业务的连续性和数据的安全性。