有没有什么可以在生产环境用的 mysql 表结构同步工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
MySQL 5.5 Community Server
MySQL 5.6 Community Serer
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
rizon
V2EX    MySQL

有没有什么可以在生产环境用的 mysql 表结构同步工具

  •  
  •   rizon
    othorizon Aug 28, 2019 8623 views
    This topic created in 2438 days ago, the information mentioned may be changed or developed.

    开发期间表结构总会发生很多变化,导致和生成环境上的表结构不一致,手动维护表结构变化太麻烦了。 因此有什么工具可以查找出变化并生成修改 sql 吗?

    30 replies    2019-08-28 17:53:25 +08:00
    Posdelan
        1
    Posdelan  
       Aug 28, 2019
    novicat 表结构同步
    glaucus
        2
    glaucus  
       Aug 28, 2019 via iPhone
    同需求,蹲一个方案
    qce7
        3
    qce7  
       Aug 28, 2019
    引入一个 sql migrate 组件
    rizon
        5
    rizon  
    OP
       Aug 28, 2019
    @Posdelan #1 生产环境是隔离,本地的工具肯定不行
    rizon
        6
    rizon  
    OP
       Aug 28, 2019
    @cydleadingx #4 这个似乎可以。我研究下

    @glaucus #2
    另外我还找到了一个: https://yq.aliyun.com/articles/626851?utm_cOntent=m_1000013851
    chendy
        7
    chendy  
       Aug 28, 2019
    liquibase,flayway …
    嫌麻烦自己简单实现一个也行
    rizon
        8
    rizon  
    OP
       Aug 28, 2019
    @cydleadingx #4 go 的怎么安装?生产环境没有 go,有什么好的办法安装吗?
    rizon
        9
    rizon  
    OP
       Aug 28, 2019
    @chendy #7 嗯 这种成熟的方案似乎可以,liquibase,flayway 这两个哪个比较好用?
    Maboroshii
        10
    Maboroshii  
       Aug 28, 2019 via Android
    我也因为这个问题搞出过 bug,脑瓜疼
    Fishdrowned
        11
    Fishdrowned  
       Aug 28, 2019
    把所有结构变化写入代码,让代码自己去维护数据库结构,不要人工操作。就是 3 楼说的 migrate
    thet
        12
    thet  
       Aug 28, 2019 via Android
    你需要 migration,表结构更改都走 migration。不想弄的话可以用 navicat 的表结构同步功能。
    w292614191
        13
    w292614191  
       Aug 28, 2019
    novicat 有数据同步、数据传输、结构同步
    但是一点都不好用,各种错乱,主键约束等等。
    几张表玩玩还是可以的。
    ben1024
        14
    ben1024  
       Aug 28, 2019
    用数据迁移 migration
    Joyboo
        15
    Joyboo  
       Aug 28, 2019
    migrate 简单好用
    340244120w
        16
    340244120w  
       Aug 28, 2019 via iPhone
    把线上的结构导出来,然后在本地用 navicat 同步好,最后把 alert 语句复制出来 导到线上

    至于说 navicat 不好使,那是因为自己偷懒用的默认选项呀 去掉几个编码啥的就好了
    rizon
        17
    rizon  
    OP
       Aug 28, 2019
    @qce7 #3
    @Joyboo #15
    @ben1024 #14
    @thet #12
    sql migrate、migration 叫哪个名字啊?这名字太笼统不好搜啊,有个具体点的吗?
    blodside
        18
    blodside  
       Aug 28, 2019
    我只知道 django 自带的 migration 挺好用的
    msg7086
        19
    msg7086  
       Aug 28, 2019 via Android
    SQL migration 是一类技术的统称。
    netnr
        20
    netnr  
       Aug 28, 2019
    arrow8899
        21
    arrow8899  
       Aug 28, 2019
    https://github.com/onishi/mysqldiff
    表结构频繁变更,还是用 mongodb 比较合适吧
    dusu
        22
    dusu  
       Aug 28, 2019 via iPhone
    sqlyog 表同步 秒杀市面所有工具
    asd123456cxz
        23
    asd123456cxz  
       Aug 28, 2019
    我们 Mysql,oracle 库使用 flyway,优点是同步多个环境很方便,缺点是一旦维护的不到位写出很多零散的 sql 脚本不好管理
    ben1024
        24
    ben1024  
       Aug 28, 2019
    @rizon 看你用的语言和框架
    [这是 laravel 的 migrations ]( https://learnku.com/docs/laravel/5.5/migrations/1329)
    IamNotShady
        25
    IamNotShady  
       Aug 28, 2019
    flyway
    jowan
        26
    jowan  
       Aug 28, 2019
    如楼上所说 migration 结贴
    mineqiqi
        27
    mineqiqi  
       Aug 28, 2019
    otter+canal
    usslss
        28
    usslss  
       Aug 28, 2019
    为什么你们都管 navicat 叫 novicat 是什么梗吗
    felmoon
        29
    felmoon  
       Aug 28, 2019
    flyway 还可以的
    joyeu
        30
    joyeu  
       Aug 28, 2019
    @usslss 哈哈哈,不说还没发现,一堆 novicat 233
    About     Help     Advertise     Blog     API     FAQ     Solana     2458 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 98ms UTC 05:55 PVG 13:55 LAX 22:55 JFK 01:55
    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