数据库的迁移/版本控制 工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内
seagull7558
V2EX    程序员

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

  •  
  •   seagull7558 2022-12-17 09:26:10 +08:00 3388 次点击
    这是一个创建于 1035 天前的主题,其中的信息可能已经有所发展或是发生改变。
    spring cloud 项目

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

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

    1. Migration 是指 Flyway 吗?

    各位同学还有其他工具推荐吗?
    15 条回复    2023-04-18 09:09:07 +08:00
    datoujiejie221
        1
    datoujiejie221  
       2022-12-17 09:46:32 +08:00 via iPhone
    可以看下 archery
    xuanbg
        2
    xuanbg  
       2022-12-17 09:47:23 +08:00
    我们都是 sql 脚本实现变更。
    jamesxu
        3
    jamesxu  
       2022-12-17 09:58:15 +08:00 via iPhone
    我们都用 flyway ,挺方便
    kaneg
        4
    kaneg  
       2022-12-17 11:01:22 +08:00
    如果数据库变更频繁,flyway 可以帮你自动应用最新的变更。
    zhenjiachen
        5
    zhenjiachen  
       2022-12-17 11:04:46 +08:00 via iPhone
    flyway 开源版已经开始不支持发布超过 5 年的数据快了,虽然可以降低版本解决,但是后面可能到时候 spring boot 不支持低版本的 flyway 了。使用起来很简单,但是如果用的是低版本数据库还是不建议使用。
    optional
        6
    optional  
       2022-12-17 13:54:07 +08:00
    go 和 python 有几个工具,凑活用用。
    实际上体验最好的还是之前 laraval 的那个。
    wallace1z
        7
    wallace1z  
       2022-12-17 17:03:44 +08:00
    liquibase 了解一下?
    kytrun
        8
    kytrun  
       2022-12-17 22:41:11 +08:00 via Android
    navicat 结构同步
    wellerman
        9
    wellerman  
       2022-12-17 23:44:52 +08:00
    Laravel Eloquent yyds
    yixuling
        10
    yixuling  
       2022-12-18 00:26:47 +08:00
    推荐 liquibase
    tianzhou
        11
    tianzhou  
       2022-12-21 01:12:33 +08:00
    https://bytebase.com 有完整的 GUI ,由迁移历史,也能做 GitOps
    seagull7558
        12
    seagull7558  
    OP
       2022-12-21 09:20:55 +08:00
    @tianzhou 好像不错诶 少见的 DB CICD 先试用下开源版本
    seagull7558
        13
    seagull7558  
    OP
       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
        14
    tianzhou  
       2023-04-16 19:07:50 +08:00
    @seagull7558 我们刚对免费版定位做了一次调整,开放了一系列本来只有团队付费版才有的能力,希望可以服务更多的团队。具体到功能点上:

    1. 不再限制实例数和用户数
    2. 有 RBAC
    3. 所有的 100+ SQL 审核规则
    seagull7558
        15
    seagull7558  
    OP
       2023-04-18 09:09:07 +08:00
    @tianzhou 加油~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1204 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:46 PVG 01:46 LAX 10:46 JFK 13:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86