Bạn có thể thử sử dụng Apache ddlutils . Có một cách để xuất ddls từ cơ sở dữ liệu sang tệp xml và nhập lại nó trở lại.
sử dụng api trang có các ví dụ về cách xuất lược đồ sang tệp xml, đọc từ tệp xml và áp dụng nó vào cơ sở dữ liệu mới. Tôi đã sao chép các chức năng đó bên dưới cùng với một đoạn mã nhỏ về cách sử dụng nó để đạt được những gì bạn đang yêu cầu. Bạn có thể sử dụng điều này làm điểm bắt đầu và tối ưu hóa nó hơn nữa.
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);
}