V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
edk24
V2EX  ›  问与答

大家是如何把开发环境与生产环境表结构合并的?

  •  
  •   edk24 · 2020-01-11 11:13:45 +08:00 · 3855 次点击
    这是一个创建于 1538 天前的主题,其中的信息可能已经有所发展或是发生改变。

    偶尔会遇到一些二开项目, 需要单独导出一份数据库, 用来二开.

    开发完成后, 可能追加了表, 追加 /修改了字段. 大家是怎么把表结构同步到生产环境的呢?

    目前我们的做法是, 把变更的字段记录下来. 等部署上线时逐一去修改.

    有没有更好的办法 /工具?

    16 条回复    2020-01-12 13:34:08 +08:00
    mgcnrx11
        1
    mgcnrx11  
       2020-01-11 11:19:00 +08:00 via iPhone
    liquibase ?
    murmur
        2
    murmur  
       2020-01-11 11:20:42 +08:00
    测试环境建表的时候就得准备 sql 语句,然后在仿真环境跑一遍,测试通过才能执行到正式环境
    webgrin
        3
    webgrin  
       2020-01-11 11:29:35 +08:00
    @mgcnrx11 有没有更简单的方法,不依赖特定工具的。同样有数据库合表的这个需求。
    liuzhaowei55
        4
    liuzhaowei55  
       2020-01-11 11:34:25 +08:00 via Android
    flyway
    webgrin
        5
    webgrin  
       2020-01-11 11:36:22 +08:00   ❤️ 1
    刚刚看来,Navicat 自带有这个表结构同步工具。商业版也不贵。
    felixin
        6
    felixin  
       2020-01-11 11:39:58 +08:00 via Android
    换用 mongodb ?
    295464512
        7
    295464512  
       2020-01-11 11:42:13 +08:00
    Navicat 结构同步妥妥的
    charlie21
        8
    charlie21  
       2020-01-11 12:11:46 +08:00 via Android
    sql 语句直接操作阿
    jugelizi
        9
    jugelizi  
       2020-01-11 12:22:24 +08:00

    你们不先灰度吗
    开发直接到生产
    JJstyle
        10
    JJstyle  
       2020-01-11 13:12:58 +08:00 via iPhone
    我们是会把每一期的数据库更新写到部署文档去的,领导按照部署文档操作即可。
    schemacs
        11
    schemacs  
       2020-01-11 13:35:29 +08:00   ❤️ 2
    如果是 mysql 的话 `mysqldbcompare --difftype=sql --run-all-tests --skip-row-count --skip-object-compare --changes-for=server2 [email protected]:3306 [email protected]:3308 db_online:db_offline`
    wwcxjun
        12
    wwcxjun  
       2020-01-11 14:01:01 +08:00
    用数据迁移吧(migrate).
    Felldeadbird
        13
    Felldeadbird  
       2020-01-11 15:15:31 +08:00
    我是将每次 更新的 SQL 记录在一个 版本号的 sql。传上线时执行。这样就可以确保不会遗忘了。
    tagtag
        14
    tagtag  
       2020-01-11 16:15:24 +08:00
    一直想用数据库的版本管理工具比如 flyway,但是大家都嫌麻烦。
    Ravenddd
        15
    Ravenddd  
       2020-01-11 17:18:47 +08:00 via Android
    navicat,数据库结构同步,数据同步很好用
    efaun
        16
    efaun  
       2020-01-12 13:34:08 +08:00
    navicat +1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3219 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:16 · PVG 20:16 · LAX 05:16 · JFK 08:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.