V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
prenwang
V2EX  ›  程序员

dataGrip 真的是大杀器, 其 compare 功能用来比较数据库结构直接生成表结构更新脚本更是超级大杀器。

  •  
  •   prenwang · 2019-11-08 11:22:29 +08:00 · 14406 次点击
    这是一个创建于 1602 天前的主题,其中的信息可能已经有所发展或是发生改变。
    表面看起来 dataGrip 功能挺单薄的, 但是能用的功能真的都是无比精致。 一直以来人肉写存储过程更新表结构,,写到几千行实在受不了。

    每次软件发布有数据库结构更新,,通过 dataGrip 生成一个更新脚本就好了,一分钟搞定。

    也可能是我有点落伍了,可能大家早已经用 High 很久了。
    38 条回复    2019-11-11 14:40:34 +08:00
    linauror
        1
    linauror  
       2019-11-08 11:26:58 +08:00
    SQLyog 也有类似功能
    chendy
        2
    chendy  
       2019-11-08 11:29:30 +08:00
    上次用 DataGrip 的时候,它还叫 0xDBE…
    prenwang
        3
    prenwang  
    OP
       2019-11-08 11:32:04 +08:00
    @linauror 可以试试 datagrip, 数据库关系约束的问题处理一直是个难题,这点 datagrip 处理的很好,
    69partner
        4
    69partner  
       2019-11-08 11:36:04 +08:00
    我最近也开始使用 dataGrip 但是一直没有 Get 到他的好用之处,然后就转回了 idea 的 database 功能一致,能分享一下吗
    prenwang
        5
    prenwang  
    OP
       2019-11-08 11:45:16 +08:00
    @69partner

    dataGrip 和 旗舰版 idea 的 database 功能基本一致。其他比如 专业版 pycharm 也是

    dataGrip 应该就是单独搞出来用的 ,不是所有人都用 idea,pycharm 等

    另一个好处就是单独用 datagrip, 集中一处管理大量数据库, 如果同时使用了 idea,pycharm 等工具,统一管理数据库的好处就来了,不用重复配置
    yinzhili
        6
    yinzhili  
       2019-11-08 12:12:27 +08:00
    sqlyog 一直就有这种功能
    runninghipp
        7
    runninghipp  
       2019-11-08 12:19:29 +08:00
    建议搞一个 datagrip 交流群,我在油罐上看原版的演示说明都是常规功能。
    maomaomao001
        8
    maomaomao001  
       2019-11-08 13:23:07 +08:00
    唯一缺点就是不支持 nosql 各种数据库( redis,MongoDB 之类的),要不然就非常完善了
    Rwing
        9
    Rwing  
       2019-11-08 13:25:54 +08:00
    内存占用有点高
    zhenjiachen
        10
    zhenjiachen  
       2019-11-08 13:35:11 +08:00
    要是想 Navicat model 支持表设计,然后同步修改就好了,那我唯一用 Navicat 的原因也没了,现在都是 Navicat 设计,在 idea 里面配置,然后项目用的 mybatis 还有提示。
    anankun
        11
    anankun  
       2019-11-08 13:43:10 +08:00
    不懂,怎么生成数据库的更新脚本。
    anankun
        12
    anankun  
       2019-11-08 13:44:55 +08:00
    compare 不是只能对比两张相同的表吗,可以同时选中多张表进行对比吗?
    johnli
        13
    johnli  
       2019-11-08 14:39:14 +08:00
    @maomaomao001 下个版本就支持 nosql ( MongoDB)啦
    echofather
        14
    echofather  
       2019-11-08 14:53:02 +08:00
    在我这里干活只能用 DG,如果用 Navicat 会被老大喷成傻逼
    Immortal
        15
    Immortal  
       2019-11-08 14:58:07 +08:00
    @echofather 其实我觉得 navicat 挺好用的...
    unclemcz
        16
    unclemcz  
       2019-11-08 15:00:47 +08:00 via Android
    Removable
        17
    Removable  
       2019-11-08 15:02:54 +08:00   ❤️ 2
    @anankun #12 如图就可以了

    optional
        18
    optional  
       2019-11-08 15:11:56 +08:00
    做好 migration,根本就没有这种需求。
    seakingii
        19
    seakingii  
       2019-11-08 15:16:31 +08:00
    有谁有扩展脚本的开发手册么?喜欢这个功能,可以用来生成代码.但是没有 到相关的 API 和开发文档..
    prenwang
        20
    prenwang  
    OP
       2019-11-08 15:55:51 +08:00
    @optional 用了才知道爽啊, 理论上可以开发个插件,一键生成脚本
    heihei20088
        21
    heihei20088  
       2019-11-08 15:59:44 +08:00
    datagrip 我用的很糟心,经常出现 java 的啥错误,需要断开连接,重新连接,要不然就报错,不知道是 java 的连接池还是连接驱动问题还是我 mysql 的配置问题
    prenwang
        22
    prenwang  
    OP
       2019-11-08 16:01:36 +08:00
    @heihei20088 也可能使网络问题, 经常碰到,自从升级宽带 50M 到 1000M,再也没这问题
    optional
        23
    optional  
       2019-11-08 16:02:11 +08:00
    @prenwang 用好 migration,就没有对比表结构这种需求了。
    hgzz
        24
    hgzz  
       2019-11-08 16:09:09 +08:00
    mysql workbench 设计好 model 也可以同步啊
    wangyzj
        25
    wangyzj  
       2019-11-08 17:11:47 +08:00
    整天做无版本管理的数据库迁移吗?
    jimotudou
        26
    jimotudou  
       2019-11-08 17:28:36 +08:00
    才知道有这个功能,而且还能 compare content...方便啊
    prenwang
        27
    prenwang  
    OP
       2019-11-08 17:29:21 +08:00
    @wangyzj 在新版本发布时,针对上一版本生成 sql 升级脚本
    @optional 这个方法是属于人人可操作的模式,没有难度
    wangyzj
        28
    wangyzj  
       2019-11-08 17:42:01 +08:00
    @prenwang code 即 sql 呢?
    iyaozhen
        29
    iyaozhen  
       2019-11-08 17:43:26 +08:00 via Android
    难道之前没用过 navicat ?
    SingeeKing
        30
    SingeeKing  
       2019-11-08 17:51:58 +08:00
    @johnli #13 哎消息可靠吗,话说有 redis 的支持计划吗
    wangxin13g
        31
    wangxin13g  
       2019-11-08 18:04:27 +08:00
    @SingeeKing
    IDEA 系有 redis 插件 但是收费的 jetbrain 在做插件市场
    johnli
        32
    johnli  
       2019-11-08 18:09:54 +08:00
    @SingeeKing 只有 MongoDB,
    目前还没有看到支持 Redis 的计划
    chanlk
        33
    chanlk  
       2019-11-08 18:24:43 +08:00
    @jimotudou 请问 compare content 是指比较两个表的内容吗?我这里有个表是一些静态的配置,要是能用这个比较一下就很 nice 了
    baobao1270
        34
    baobao1270  
       2019-11-08 18:50:12 +08:00 via Android
    用的学生版 DG,总感觉没有 Navicat 好用。没有用户管理功能?数据导出好麻烦,选项是挺多,但是各种选项比较迷惑,可能是我不会用吧。目前有一台服务器和本地开发机,似乎同步功能没法同步?
    guanhui07
        35
    guanhui07  
       2019-11-08 19:03:51 +08:00
    sqlyog 好久没用了
    moqimoqide
        36
    moqimoqide  
       2019-11-08 20:04:56 +08:00
    IDEA 的对象是类(包括类、接口等),DataGrip 的对象是表(包括表、存储过程等),两者在 Command + O 便捷导航的时候非常明显。所以私以为在设计上的主体不同,是为了不同的用户诉求。
    kljsandjb
        37
    kljsandjb  
       2019-11-09 09:13:47 +08:00
    不错的
    jimotudou
        38
    jimotudou  
       2019-11-11 14:40:34 +08:00
    @chanlk 是的 能比较内容 挺方便的~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2997 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:42 · PVG 22:42 · LAX 07:42 · JFK 10:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.