Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

本项目可以帮助快速比较两个数据库差异,尤其适合对比同一项目不同环境之间的表、字段差异,帮助快速发现差异,避免不同环境部署代码时数据库结构的不兼容。

Notifications You must be signed in to change notification settings

AllinProgram/compare-database-differences

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

21 Commits

Repository files navigation

compare-database-differences

本项目可以帮助快速比较两个不同数据库的表字段差异,尤其适合同一项目不同环境之间的对比,帮助快速发现差异,避免不同环境部署代码时数据库结构的不兼容。

特性

  • ✓ 支持MySQL(MySQL8需要更新驱动依赖,后续会动态处理)

  • ✓ 支持OceanBase以及分库分表场景

  • ✓ 发现环境特有的表

  • ✓ 发现表特有的字段

  • ✓ 发现字段数据类型不一致的情况

  • ✓ 发现字段数据限制不一致的情况

  • ✓ 支持将差异数据生成文件方便查看

  • ❏ 发现表索引差异

  • ❏ 发现表规格差异

  • ❏ 支持给出修复差异的策略

  • ❏ 支持GUI客户端使用

  • ❏ 支持IDEA插件使用

怎么使用

场景1:本地能够连接数据库

public class Main {
 public static void main(String[] args) {
 new DBCompareStart(
 new DBCompareStart.DBConfig(
 "A环境",
 "jdbc:mysql://hostA:portA/databaseA",
 "username",
 "password"),
 new DBCompareStart.DBConfig(
 "B环境",
 "jdbc:mysql://hostB:portB/databaseB",
 "username",
 "password")
 );
 }
}

场景2:本地无法直连数据库,或者仅有一个库可以直连

public class Main {
 public static void main(String[] args) {
 new DBCompareStart(
 new DBCompareStart.DBConfig(
 "A环境",
 "src/main/resources/a-create-table.sql"),
 new DBCompareStart.DBConfig(
 "B环境",
 "jdbc:mysql://hostB:portB/databaseB",
 "username",
 "password")
 );
 }
}

执行示例

About

本项目可以帮助快速比较两个数据库差异,尤其适合对比同一项目不同环境之间的表、字段差异,帮助快速发现差异,避免不同环境部署代码时数据库结构的不兼容。

Resources

Stars

Watchers

Forks

Languages

AltStyle によって変換されたページ (->オリジナル) /