用 Bytebase 做数据库 schema 迁移

数据库 CI/CD 工具 -- Bytebase 介绍 在本文中,我们首先向读者展示了 Bytebase 的安装部署过程,以及其查询和更改的基本功能。接着,我们体验了 Bytebase 1.14.0 最新版本所带来的 ChatSQL 功能,该功能基于 OpenAI,能够根据我们的问题或需求生成相应的 SQL 语句。最后,我们实践了 Bytebase 的 GitOps 功能,通过结合版本控制系统,可以跟踪数据库结构的变化,方便我们对数据库变更进行审查、协作和回滚操作。 阅读详情

数据库 schema 迁移指修改管理数据库结构的变更,包括为数据库添加视图或表、更改字段类型或定义新约束。Bytebase 提供了可视化 GUI 方便迁移数据库 schema,本教程将展示如何使用 Bytebase 为 schema 迁移配上 SQL 审核,自定义审批流,发布策略,指定发布时间等功能。

file

功能

Bytebase 提供社区版、专业版和企业版。更进阶的版本解锁了更多可以搭配迁移 schema 模式的功能。

  • 入门 - 自动 SQL 审核(社区版、专业版和企业版)
  • 进阶 - 发布策略(专业版和企业版)
  • 高阶 - 自定义审批流(企业版)

准备工作

运行 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 访问主页,请先注册一个账户,此账户将自动被授予工作空间的管理员角色。

入门 - 自动 SQL 审核 + 自动发布(社区版)

  1. 在环境的 Test 和 Prod 页面中,可以分别看到:
  • 发布策略为「自动发布」。除非出现警告或错误,否则工单成功创建后将自动发布。
  • 生产环境上启用了 SQL 审核,并使用示例策略。

file

  1. 点击 Prod 环境下的「SQL Review Sample Policy」 可进入 SQL 审核模板,此模板中开启了列的「强制非空约束」策略,我们尝试违反看看。

file

  1. 前往 Sample Project,我们为 Prod 环境的 employee 表添加空的 Email 列。
ALTER TABLE employee.employee
ADD Email varchar(255);
  1. 工单创建后,SQL 审核将自动运行,并出现了「强制非空约束」警告。

file

  1. 给 SQL 加上 NOT NULL 约束后即可通过 SQL 审核,工单将自动发布。
ALTER TABLE employee.employee
ADD Email varchar(255) NOT NULL;
  1. 发布完成后可以在数据库 employee 的变更历史中看到变更记录和前后 schema 差异。

file

进阶:指定发布时间 + 手动发布(专业版)

使用专业版,你会获得两个额外的功能(出于 demo 需要,这里我们使用免费的 14 天的企业试用版):

  1. 特定角色发布

可以指定多个预定义的角色来手动发布变更。在环境的 Prod 页面中,选择特定手工发布,勾选允许发布变更的角色,点击更新。

file

  1. 指定发布时间

可以指定特定时间来发布变更。前往 Sample Project,我们为 Prod 环境的 employee 表添加 Country 列。

ALTER TABLE employee.employee
ADD Country varchar(255) NOT NULL;

可在工单页面指定发布时间。

file

高阶:自定义审批流 + 手动发布(企业版)

如果你希望审核流程更加定制化,比如基于 SQL 语句类型,变更影响的行数等,可以在「自定义审批」中配置(友情提醒:请先在「实例」页面为需要使用自定义审批的实例分配证书。否则自定义审批将无法启用)。

  1. 前往设置⚙️ > 自定义审批。DDL 高风险的审批流设置为 Project Owner -> DBA。

file

  1. 前往设置⚙️ > 风险中心。添加一条「生产环境的 DDL 语句,默认为高风险」的规则。

file

  1. 前往设置⚙️ > 成员,添加一个 DBA 角色,因为稍后需要 DBA 批准发布。

  2. 进入环境 Prod ,现在你可以解锁第三个选项了!即由自定义审批流的最后一个审批人手动发布策略。选择该选项。

file

  1. 前往 Sample Project,我们给 Test 和 Prod 数据库分别加一列 City。
ALTER TABLE employee.employee
ADD City varchar(255) NOT NULL;
  1. 创建工单,审批流将自动匹配,此为第一步设置的 Project Owner -> DBA 审批,批准后将会自动发布。

file

总结

你现在已经了解了如何使用 Bytebase 进行数据库 schema 迁移。Bytebase 还提供更多功能,欢迎来试试:

  • GitOps,观察 Git 代码推送事件并触发 schema 迁移
  • 批量变更,在单个工作流中更改多个数据库
  • 分支,使用类似于 Git 的分支协作进行 schema 变更
  • 变更列表,按顺序编排和发布变更,或将其导出以离线执行

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

Bytebase 3.5.0 - 手动发布功能调整至社区版 新安装 https://www.bytebase.com/docs/get-started/self-host/升级 https://www.bytebase.com/docs/get-started/upgrade/弃用慢查询、多租户功能;弃用原有的内置 GitOps 功能,并改进 GitOps 工作流。在工单创建之前可以查看到来自 SQL 检查结果的预估影响行数。扩展 API 以允许更新 Plan 的数据库分组部署。API 支持分页和过滤。,使其仅适用于现有表和。 阅读详情

相关推荐

Bytebase 2.0 - 把 DevOps 带进数据库

近期 AI 领域的突破让大家都很兴奋,但回到日常的工作中,开发者们还是需要处理许多的琐事。其中之一就是和数据库打交道,一件繁琐但又需要格外仔细的工作,不然就容易造成 #删库跑路 的事故。2 年前,我们启动了 Bytebase 来解决这个问题,并且把项目开源在了 GitHub 上。相比于全球范围内的友商 Liquibase,Flyway,还是国内的 Yearning,Archery,Bytebase 的增长速度也都是更快的。

Bytebase的博客 1173

如何使用 Bytebase 快速实现 SQL 自动化

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !​数据库在每个企业都占据的非常重要的位置,它存储着一个公司的命脉。对于数据库的管理也非常的复杂多变,很多公司都有专业的DBA团队在管理。但是,不论有无DBA,对数据库的操作都不会变少,而且都面临着相同的问题:不是在提数就是在修数的路上不是在审核SQL就是在审核SQL的路上不是在找历史记录就是在找历史记录的路上不是在备...

easylife206的专栏 2674

数据库CI/CD工具横评:Flyway、Liquibase、Skeema与Bytebase选型指南

数据库是发布流程中最难自动化的一环:应用可以重放,库表结构却需要顺序迁移。将数据库变更纳入CI/CD,本质是把SQL脚本版本化、评审化、执行可记录化。围绕这一目标,当前主流方向分为轻量迁移、企业级变更编排、Schema-as-Code漂移管理和平台化审批发布四类。Flyway以版本号管理简化自动迁移,适合中小团队快速落地;Liquibase通过changelog抽象和precondition控制复杂环境;Skeema专注MySQL结构漂移比对;Bytebase则把审批、审计和发布流程串成工单。四款工具各有边

weixin_34218579的博客 412

Bytebase试用与对比

简介 官网介绍:Bytebase 是为 DBA 和开发人员进行数据库表结构 (schema) 变更而设计的团队协作工具。用户可以通过一个工作流 (pipeline),来推进 schema 在多个环境中的变化。同时用户也可以把 schema 保存在 VCS 中 ,再由新的 schema 文件提交来触发工作流。 由前Google和前蚂蚁员工创立的,刚刚首轮融资300万美元,此类软件之前使用过navicat,treesoft,Yearning,阿里内部的idb,阿里云的DMS,还有我在公司云原生数据库平台上自研

zhangjikuan的专栏 1万+

数据库CI/CD工具深度对比:Flyway、Liquibase、Atlas、Bytebase怎么选?

在DevOps与持续交付的工程实践中,数据库变更管理往往比应用代码发布更具挑战,因为数据库本身是有状态的,任何Schema变动都可能引发环境漂移甚至线上事故。团队需要从数据库版本化迁移、Schema漂移治理、自动化发布审批等基础概念入手,理解不同工具背后的技术原理。Flyway与Liquibase代表经典的版本化迁移路线,Atlas采用声明式Schema管理,Bytebase则走向平台化工作流。从技术价值看,它们分别适用于快速建立版本纪律、复杂多应用编排、环境漂移收敛以及流程审计治理等典型场景。本文围绕数据

weixin_34319111的博客 308

数据库迁移 Skill:Prisma 变更评审、迁移脚本生成与回滚方案自动编写

数据库迁移,曾经是 DBA 的专属技能,后来成了后端工程师的“必备踩坑经历”,现在正在变成可以被 Skill 化、工程化、自动化的系统能力。从 Prisma Next 的 TypeScript 迁移 + 数据迁移一体化,到 PrismaGuard 的静态分析拦截,再到 pgroll 的零停机可逆迁移——2026年的技术生态已经给了我们足够的工具,把“数据库迁移”从“高危操作”变成“可评审、可回滚、可信任的常规发布”。你的迁移 Skill,不应该只包含 SQL 语法。

ZXSXJ的博客 25

数据库工具集成与自动化:awesome-db-tools 中的工作流优化终极指南

awesome-db-tools 是一个社区驱动的数据库工具集合,旨在为 DBA、开发人员和普通用户提供简化数据库工作的实用工具。本文将深入探讨如何利用 awesome-db-tools 中的工具实现数据库工作流的集成与自动化,帮助你提升数据库管理效率,减少人工操作错误。 ## 为什么需要数据库工作流优化? 在现代软件开发中,数据库作为核心组件,其管理效率直接影响整个项目的迭代速度和稳定性。传

gitblog_00024的博客 994

Uniapp+Vue3+Monorepo:如何优化你的前端开发流程(附完整配置代码)

本文详细介绍了如何利用Uniapp+Vue3+Monorepo技术栈优化前端开发流程,提升代码可维护性和团队协作效率。通过Monorepo架构实现依赖管理智能化、代码复用最大化和构建流程统一化,结合完整配置代码和实战指南,帮助开发者快速构建高性能跨端应用。

weixin_29011993的博客 453

数据库版本控制终极指南:awesome-db-tools 中 7 大迁移工具深度对比

在数据库开发与维护中,版本控制和迁移管理是确保数据结构一致性与业务连续性的核心环节。awesome-db-tools 作为一个全面的数据库工具集合,汇集了众多优秀的数据库迁移工具,帮助开发者和DBA轻松应对 schema 变更、版本追踪和团队协作等挑战。本文将深入对比该项目中的7款主流迁移工具,助你找到最适合项目需求的解决方案。 ## 为什么数据库版本控制至关重要? 数据库版本控制是 DevO

gitblog_00964的博客 814

使用 Java + PaddleOCR 实现表格识别,支持导出 HTML 和 Excel(附源码)

使用Java+PaddleOCR快速搭建表格识别系统,无需处理底层模型细节。系统支持表格结构识别和内容识别,可将图片转换为可编辑表格格式。文章提供了完整的实现流程,包括Maven依赖引入、模型下载(包含检测、识别、分类和表格结构模型)及参数配置说明。SmartJavaAI支持多种高性能模型选择,适用于不同应用场景,帮助开发者快速实现表格识别功能。

deng775747758的博客 1476

SAP 配额修改 + 修改记录写入实现

采购配额修改并写入修改记录 cdhdr 和 cdpos

GAVIN 1101

Bytebase数据迁移:跨平台数据库迁移工具

Bytebase数据迁移:跨平台数据库迁移工具 【免费下载链接】bytebase World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams. The GitLab for databa...

gitblog_00457的博客 876

AT32F421玩转AM32电调:手把手教你调试过零点比较器,告别电机抖动

本文详细介绍了如何使用AT32F421芯片调试AM32电调的过零点比较器,解决电机抖动问题。通过硬件配置、软件环境搭建、比较器电路原理分析及filter_level参数动态调整等实战步骤,帮助开发者精准诊断和优化电机控制性能。

weixin_42525632的博客 277

数据库 Schema 变更工具进化史

数据库 Schema 变更大概是应用开发中风险最大的领域 - 这个过程充满了困难程度、风险和痛苦,今天我们来盘点一下最佳数据库 Schema 迁移工具,从最基础的 CLI 到吸纳了相对较新理念的 GitOps / Database-as-Code(数据库代码化)的工具,看看有什么工具可以缓解痛苦?命令行客户端 CLI - mysql / psqlmysql 和 psql 是最直接的可以与 MySQ...

DevOps持续集成的博客 324

LabVIEW内存优化实战:用DVR和队列高效处理大型数组,告别数据副本

本文深入探讨LabVIEW内存优化技术,重点介绍数据值引用(DVR)和单元素队列(SEQs)在高效处理大型数组中的应用。通过对比传统方法与现代引用技术的性能差异,提供减少内存副本、提升程序效率的实战方案,帮助开发者在测试测量、图像处理等数据密集型场景中实现显著性能提升。

weixin_30835649的博客 1062

ubuntu linux虚拟机安装部署openclaw详细教程(安装、问题处理)

本文详细介绍了在Ubuntu系统下安装OpenClaw AI助手的完整流程及常见问题解决方案。主要内容包括:1) 通过GIT、Node.js等基础环境配置;2) 使用官方脚本或源码编译两种方式安装OpenClaw;3) 配置向导中的关键选项说明;4) 针对systemctl服务启动失败等常见错误的处理方法。文章特别强调了权限管理、网络依赖和访问配置等易错环节,提供了修改service文件等具体解决方案,帮助开发者顺利完成部署并实现Web UI访问。教程实操性强,适合本地和云服务器环境部署参考。

少说,多做 2033

Bytebase迁移策略:零停机schema变更方案

Bytebase迁移策略:零停机schema变更方案 【免费下载链接】bytebase World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams. The GitLab for dat...

gitblog_00594的博客 645

验证码破解2.0:Python+CV大模型搞定滑块/点选验证

核心创新:基于YOLOv8+SAM CV大模型的端到端验证码破解方案,无需人工设计特征,适配多种验证码类型;核心价值高成功率:滑块验证≥95%,点选验证≥90%,远超传统CV方案;低延迟:单验证码破解≤2秒,满足高并发采集需求;行为模拟:生成符合人类操作的轨迹,绕过行为检测;易扩展:统一架构支持新增验证码类型,仅需少量标注数据微调;技术要点采用YOLOv8实现快速目标检测,SAM实现像素级分割;生成物理规律的人类轨迹,模拟真实操作行为;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1261

数据库CI/CD工具选型:Liquibase、Flyway、Atlas、Bytebase怎么选?

在软件交付走向全自动化的当下,数据库变更管理始终是DevOps链路中最具挑战的一环。与无状态的应用部署不同,数据库的每一次表结构或数据变更都可能引入锁竞争、不可逆操作和状态漂移风险,因此不能简单复制应用流水线的做法。业界通常从“迁移优先”与“状态优先”两种设计理念出发,理解Liquibase、Flyway、Atlas、Bytebase这类工具的底层逻辑:前者将变更组织为有序脚本逐步执行,后者以目标Schema为唯一真相自动生成差异。这两种思路各有适用场景,核心价值在于围绕有状态服务建立可控的变更流程。实际选

weixin_33860553的博客 366

R语言coxph函数对加权数据集进行竞争风险模型拟合、regplot包的regplot函数可视化竞争风险回归模型的列线图nomogram、计算特定病例的事件概率(控制了竞争风险的累计事件概率)

R语言coxph函数对加权数据集进行竞争风险模型拟合、regplot包的regplot函数可视化竞争风险回归模型的列线图nomogram、计算特定病例的事件概率(控制了竞争风险的累计事件概率)

statistics+insight+vista+power 360

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Database Schema Change and Version Control

Bytebase is an all-in-one database CI/CD solution that helps developers and DBAs manage database schema changes throughout the application development lifecycle. ### Key Features **Schema Migr

gitblog_00966的博客 232

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数据库CI/CD工具选型指南:Liquibase、Flyway、Bytebase、Sqitch对比

在软件交付走向GitOps与流水线化的今天,数据库变更仍是有状态基础设施中最棘手的一环。数据库迁移工具通过版本记录、变更追踪与自动化执行,让结构演进变得可重复、可校验。理解这些工具如何管理schema版本、处理校验和与回滚策略,是团队实现数据库DevOps的基础。无论是轻量级SQL迁移、企业级多数据库适配,还是平台化SQL审核与GitOps协作,不同工具解决不同阶段的核心痛点。结合团队规模、数据库类型与发布频率,选择合理的迁移引擎与发布管控组合,能显著降低生产事故风险,让数据库变更像应用代码一样可控、可审计

weixin_34161083的博客 713

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【架构】-- bytebase 项目分析

摘要: Bytebase是一款开源的数据库DevSecOps平台,整合了数据库CI/CD、安全合规与团队协作功能,支持PostgreSQL、MySQL等主流数据库。其核心优势包括GitOps集成、自动化迁移、SQL审查、数据脱敏及RBAC权限管理,适用于开发团队、DBA和安全团队。通过统一管理界面和API支持,Bytebase解决了传统工具分散、低效的问题,被CNCF收录为云原生关键项目。部署灵活(Docker/Kubernetes),社区活跃(GitHub 13k+ Stars),是企业实现数据库现代化管

欢迎来到我的博客,一起探索代码里的世界! 1464

数据库 DevOps 工具怎么选?迁移复制与变更管理方案对比

本文从数据库 DevOps 管理与数据迁移复制两个维度,对 NineData、Bytebase、Liquibase、Flyway、OceanBase OMS 和云厂商 DTS 进行对比,分析各方案的能力边界、OceanBase 适配情况及组合使用方法,为数据库变更治理、全量迁移和实时同步提供选型参考。

databasefan的博客 136

头疼管理 Postgres Schema?开源工具大盘点!

Postgres 前不久荣获了 DB-Engines 2023 年度数据库的桂冠,其生态也在蓬勃发展,不过,迁移 Postgres 数据库 schema 仍旧令人头疼,不是一件好办的事儿。 本文中,我们盘点几个好用的用于 Postgres 的开源数据库 schema 迁移工具。

Bytebase的博客 1118

自建数据库管理工具——从phpMyAdmin到现代化数据库平台

fill:#333;important;important;fill:none;数据库工具选型快速管理Adminer单文件phpMyAdmin经典团队协作Bytebase变更管理CloudBeaver通用数据迁移自研Python脚本分析可视化Metabase自助分析Superset企业BI核心建议生产环境禁止使用root账户通过Web工具登录所有Schema变更必须经过代码审查和测试环境验证敏感查询必须开启审计日志定期执行ANALYZE和VACUUM维护数据库健康。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 215
上一篇: 飞越 Flyway!
下一篇: GitHub 是如何从 MySQL 5.7 升级到 8.0 的
Bytebase
博客等级 码龄5年 1348粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值