Możesz spróbować użyć ddlutils Apache . Istnieje sposób na wyeksportowanie ddls z bazy danych do pliku xml i ponowne zaimportowanie go z powrotem.
korzystanie z API Strona zawiera przykłady jak wyeksportować schemat do pliku xml, odczytać z pliku xml i zastosować go do nowej bazy danych. Odtworzyłem te funkcje poniżej wraz z małym fragmentem, jak z nich korzystać, aby osiągnąć to, o co prosisz. Możesz użyć tego jako punktu wyjścia i dalej go optymalizować.
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);
}