您可以尝试使用Apache ddlutils.有一种方法可以将ddls从数据库导出到xml文件并重新导入.
api usage页面提供了有关如何将模式导出到xml文件,从xml文件读取并将其应用于新数据库的示例.我已经复制了下面的这些功能以及一个如何使用它来完成你要求的小片段.您可以将此作为起点并进一步优化.
DataSource sourceDb;
DataSource targetDb;
writeDatabaseToXML(readDatabase(sourceDb), "database-dump.xml");
changeDatabase(targetDb,readDatabaseFromXML("database-dump.xml"));
public Database readDatabase(DataSource dataSource)
{
Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
return platform.readModelFromDatabase("model");
}
public void writeDatabaseToXML(Database db, String fileName)
{
new DatabaseIO().write(db, fileName);
}
public Database readDatabaseFromXML(String fileName)
{
return new DatabaseIO().read(fileName);
}
public void changeDatabase(DataSource dataSource,
Database targetModel)
{
Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
platform.createTables(targetModel, true, false);
}