aboat365
(aboat365)
1
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 个赞
aboat365
(aboat365)
3
是的,当前仅支持MySQL5.7+,如果受欢迎,我才有动力支持更多数据库。 ![:joy: :joy:](https://cdn.linux.do/images/emoji/apple/joy.png?v=12)
1 个赞
aboat365
(aboat365)
6
免费试用一个月,你看帖子内容,我赠送了10个月的优惠码,直接下订单,输入优惠码,直接免费。
aboat365
(aboat365)
10
很多软件都有这些功能,但它们价格很贵,另外做在IDEA里面,用起来更顺手。而且如果经常发版本需要迁移SQL,这个工具就很适合,因为可以保存好比对任务,需要的时候点一下即可。
大概半年前我在做这个类似的叫:Data Buddy,但是后来放弃了。
原因有以下几点:
- 如果是从零开始,工作量非常大,市面上有几十种数据库
- 如果是基于DatabaseTools(也就是DataGrip)开发,基于他们的私有API各种反射拿到数据连接等等可以轻松很多,因为这个工具底层统一了接口。但是也有缺点,首先因为是私有API每个版本都不一样,需要对每个版本进行兼容,反编译等等,工作量也非常大。
- 很多功能都有替代品,譬如同步功能最好的是Navicat。
- 如果我要给IDEA写一个插件,什么都是从零开始的话那我为什么不写一个单独的程序?如果你打算写一个单独的程序和Navicat、DBeaver有什么区别?竞争力在哪里?
综合上面几点,我放弃了。希望你能坚持下去,并且不要按照自己的需求去写,这样你很容易走错方向。你可以去DataGrip的Tracker里面看看他人提的需求,然后对DataGrip打补丁插件,这样我觉得可能是一个比较不错的方向。但是由于DataGrip是闭源的,补丁打起来很难受,每个版本都要重新写代码调用他们的私有API。
1 个赞
aboat365
(aboat365)
18
首先感谢你的建议!市场上确实存在很多数据库差异比对软件,但大多数都很昂贵。也有一些免费的工具能实现这个功能,但用起来比较繁琐,所以我基于自己的需求开发这款插件。Database Buddy 是基于JDBC开发的,支持JetBrains全平台,包括IDEA社区版,这对我很重要,因为我使用IDEA社区版工作。
我工作中经常需要比对数据库结构,并编写迁移脚本,Database Buddy 可以保存比对任务,我在需要使用时,只需点击一下执行,立刻就能把差异显示出来。
起初我想设置为免费,希望能帮助到更多的人,但是,如果完全免费,我无法感知到用户对我工作的认可。作为一款生产力工具,有用户付费,就是对我工作的最大肯定。最终我设置了付费,1USD1年,约8元1年,这是可以设置的最低价格。8块钱对于程序开发者来说,应该没有任何压力。
当前仅支持MySQL数据库,如果有很多用户使用这款插件,这将鼓励我支持更多的数据库。