› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› 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 · 9206 views
    This topic created in 2634 days ago, the information mentioned may be changed or developed.

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

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

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

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