推荐JetBrains插件:Database Buddy

Database Buddy 是一款关系型数据库辅助软件,它可以帮助开发者比较两个数据库的结构差异,并生成差异迁移脚本。同时支持数据库DDL语句导出,数据库结构文档导出等功能。
https://plugins.jetbrains.com/plugin/23561-database-buddy

赠送订单优惠码:
NSA3T-9MYJ6-MYLGM-9TE6J-SWP64
QN8WH-S2SYY-P6Y2B-TC7XV-XHSPZ
K6VLS-43FSV-LCLTV-WEDW9-C6LLW
KFHVK-PJRG3-GLGEL-C7HHE-TJNBU
2QDT4-3JJNE-VLM7N-R6WNB-G5RKN
6FLR3-9GMAA-7UP8T-SBXT2-BPTVF
F22QT-LLSVR-YS39C-V97B8-ZTAZF
ZL3NZ-5Z9AD-4UUE3-DFATM-8C3HP
QQ9WQ-LFWUD-5JHE5-KMS9A-T8FVC
7RWQG-GSD39-HSMEL-TU9AY-495WB

订单优惠码需要下单使用,不是激活码。上述优惠码不够的话请留下你的邮箱地址。

11 个赞

支持的数据库有点少

是的,当前仅支持MySQL5.7+,如果受欢迎,我才有动力支持更多数据库。 :joy:

1 个赞

有木有试用呢?

楼主开发的吗?现在做东西不容易,加油

免费试用一个月,你看帖子内容,我赠送了10个月的优惠码,直接下订单,输入优惠码,直接免费。

好的,谢谢大佬

是的,自己写的

navicate不好用吗

很多软件都有这些功能,但它们价格很贵,另外做在IDEA里面,用起来更顺手。而且如果经常发版本需要迁移SQL,这个工具就很适合,因为可以保存好比对任务,需要的时候点一下即可。

感谢!

emm, 不是 5.7 的路过,纯支持一下

似乎idea已经自带类似的功能了?

1 个赞

不是只支持5.7,是支持5.7及以上版本。

比自带的Database插件多了什么功能

现在新版jb以及直接支持对比数据库生成迁移文件了

大概半年前我在做这个类似的叫:Data Buddy,但是后来放弃了。

原因有以下几点:

  1. 如果是从零开始,工作量非常大,市面上有几十种数据库
  2. 如果是基于DatabaseTools(也就是DataGrip)开发,基于他们的私有API各种反射拿到数据连接等等可以轻松很多,因为这个工具底层统一了接口。但是也有缺点,首先因为是私有API每个版本都不一样,需要对每个版本进行兼容,反编译等等,工作量也非常大。
  3. 很多功能都有替代品,譬如同步功能最好的是Navicat。
  4. 如果我要给IDEA写一个插件,什么都是从零开始的话那我为什么不写一个单独的程序?如果你打算写一个单独的程序和Navicat、DBeaver有什么区别?竞争力在哪里?

综合上面几点,我放弃了。希望你能坚持下去,并且不要按照自己的需求去写,这样你很容易走错方向。你可以去DataGrip的Tracker里面看看他人提的需求,然后对DataGrip打补丁插件,这样我觉得可能是一个比较不错的方向。但是由于DataGrip是闭源的,补丁打起来很难受,每个版本都要重新写代码调用他们的私有API。

1 个赞

首先感谢你的建议!市场上确实存在很多数据库差异比对软件,但大多数都很昂贵。也有一些免费的工具能实现这个功能,但用起来比较繁琐,所以我基于自己的需求开发这款插件。Database Buddy 是基于JDBC开发的,支持JetBrains全平台,包括IDEA社区版,这对我很重要,因为我使用IDEA社区版工作。
我工作中经常需要比对数据库结构,并编写迁移脚本,Database Buddy 可以保存比对任务,我在需要使用时,只需点击一下执行,立刻就能把差异显示出来。
起初我想设置为免费,希望能帮助到更多的人,但是,如果完全免费,我无法感知到用户对我工作的认可。作为一款生产力工具,有用户付费,就是对我工作的最大肯定。最终我设置了付费,1USD1年,约8元1年,这是可以设置的最低价格。8块钱对于程序开发者来说,应该没有任何压力。
当前仅支持MySQL数据库,如果有很多用户使用这款插件,这将鼓励我支持更多的数据库。