是否有用于比较数据库架构的Java API

我想比较一下

>表格
>列包括数据类型和长度/精度.
>索引及其列
>约束

在两个数据库模式中是相同的.

有这样的东西吗?也许来自其中一个数据库迁移管理工具?

解决方法:

我不知道用于模式比较的高级API我使用DatabaseMetaData并不难找到差异i.g来解除所有表格你可以做这样的事情:

DatabaseMetaData meta = con.getMetaData();
  ResultSet res = meta.getTables(null, null, null, 
     new String[] {"TABLE"});
  System.out.println("List of tables: "); 
  while (res.next()) {
     System.out.println(
        "   "+res.getString("TABLE_CAT") 
       + ", "+res.getString("TABLE_SCHEM")
       + ", "+res.getString("TABLE_NAME")
       + ", "+res.getString("TABLE_TYPE")
       + ", "+res.getString("REMARKS")); 
  }
  res.close();

以下方法对您的意图也很重要:

getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 
getExportedKeys(String catalog, String schema, String table)
getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) 
getPrimaryKeys(String catalog, String schema, String table) 
上一篇:GraphDatabase(Neo4J)与关系数据库(MySql) – 查询特定表的特定列


下一篇:ORA-00979:不是Oracle的GROUP BY表达式,但在子句差异的上下文中对MySQL无效