数据库的迁移/版本控制 工具

2022-12-17 09:26:10 +08:00
 seagull7558
spring cloud 项目

经常发布新版本 每次都是手工记录版本发布的数据库变更 人工操作实在是很危险

所以考虑工具实现 简单搜索了下 Migration

1. Migration 是指 Flyway 吗?

各位同学还有其他工具推荐吗?
2468 次点击
所在节点    程序员
15 条回复
datoujiejie221
2022-12-17 09:46:32 +08:00
可以看下 archery
xuanbg
2022-12-17 09:47:23 +08:00
我们都是 sql 脚本实现变更。
jamesxu
2022-12-17 09:58:15 +08:00
我们都用 flyway ,挺方便
kaneg
2022-12-17 11:01:22 +08:00
如果数据库变更频繁,flyway 可以帮你自动应用最新的变更。
zhenjiachen
2022-12-17 11:04:46 +08:00
flyway 开源版已经开始不支持发布超过 5 年的数据快了,虽然可以降低版本解决,但是后面可能到时候 spring boot 不支持低版本的 flyway 了。使用起来很简单,但是如果用的是低版本数据库还是不建议使用。
optional
2022-12-17 13:54:07 +08:00
go 和 python 有几个工具,凑活用用。
实际上体验最好的还是之前 laraval 的那个。
wallace1z
2022-12-17 17:03:44 +08:00
liquibase 了解一下?
kytrun
2022-12-17 22:41:11 +08:00
navicat 结构同步
wellerman
2022-12-17 23:44:52 +08:00
Laravel Eloquent yyds
yixuling
2022-12-18 00:26:47 +08:00
推荐 liquibase
tianzhou
2022-12-21 01:12:33 +08:00
https://bytebase.com 有完整的 GUI ,由迁移历史,也能做 GitOps
seagull7558
2022-12-21 09:20:55 +08:00
@tianzhou 好像不错诶 少见的 DB CICD 先试用下开源版本
seagull7558
2022-12-21 11:01:36 +08:00
@tianzhou

对于开源项目 我态度一直是 鼓励+认可+敬佩 但是对开源版本刀的有点狠 老黄都得向你学习
但是 emmmm 不太符合需求 UI 蛮舒服,审核流程蛮好,编辑器也很棒 简单对比下 liquibase

1. 目前变动项分为结构和数据 liquibase 拆分为两文件也好或是+labels 也好 执行更新的时候可以区分开业务和初始化两种不同得类型 譬如在一个新环境上快速拉起一套结构和数据(--labels=init 或是直接指定文件)
2. 甚至没办法将开发环境创建的数据库同步到测试环境
3. 库表同步限制太大了 只能到表
4. 暂时没看到文档中描述如何介入应用的 CI/CD
5. 现在的同步和回滚是基于变动列表来实现的吗? rollback 语句是自己生成的吗?

保命: 认可+鼓励+敬佩 以上只是建议 不过我还没付费 你们可以忽略建议
tianzhou
2023-04-16 19:07:50 +08:00
@seagull7558 我们刚对免费版定位做了一次调整,开放了一系列本来只有团队付费版才有的能力,希望可以服务更多的团队。具体到功能点上:

1. 不再限制实例数和用户数
2. 有 RBAC
3. 所有的 100+ SQL 审核规则
seagull7558
2023-04-18 09:09:07 +08:00
@tianzhou 加油~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX