Apache的DdlUtils完成了我所需要的。当我搜索crossdb时发现它,它非常有用,但功能强大。它可以使用参数从头开始生成数据库。或者,它也可以获取现有数据库表定义以及索引定义。您可以根据需要使用定界符(使用Apache
Derby对我来说是一个致命的重要选择)。您可以只打印出这些定义,也可以将它们直接应用于源数据库(我还没有尝试过第二个定义)。它转换所选数据库的定义。但是一个大问题是,没有关于如何开始使用它的好的教程。我搜索了软件包,找到了一个很好的起点。这是我所实现的,生成完整数据库表创建sql的示例代码。
DerbyPlatform dp = new DerbyPlatform();dp.setDelimitedIdentifierModeOn(true);Database dbs = new Database();DerbyModelReader dmr = new DerbyModelReader(dp);Database test = dmr.getDatabase(conn, "MyDBTest");DerbyBuilder db = new DerbyBuilder(dp);String testSqlDerby = dp.getCreateTablesSql(test, true, true);System.out.println(testSqlDerby);System.out.println("nnnn");MySql50Platform mp = new MySql50Platform();mp.setDelimitedIdentifierModeOn(true);MySqlBuilder mb = new MySqlBuilder(mp);String testSqlMysql = mp.getCreateTablesSql(test, true, true);System.out.println(testSqlMysql);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)