Puoi provare a utilizzare Apache ddlutils . C'è un modo per esportare i ddls da un database in un file xml e reimportarlo.
L'utilizzo delle API La pagina contiene esempi su come esportare lo schema in un file xml, leggere da un file xml e applicarlo a un nuovo database. Ho riprodotto quelle funzioni di seguito insieme a un piccolo frammento su come utilizzarlo per ottenere ciò che stai chiedendo. Puoi usarlo come punto di partenza e ottimizzarlo ulteriormente.
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);
}