Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man ein schema in mysql mit java kopiert

Sie können versuchen, die Apache ddlutils zu verwenden . Es gibt eine Möglichkeit, die DLLs aus einer Datenbank in eine XML-Datei zu exportieren und wieder zurück zu importieren.

Die API-Nutzung Seite enthält Beispiele zum Exportieren des Schemas in eine XML-Datei, zum Lesen aus der XML-Datei und zum Anwenden auf eine neue Datenbank. Ich habe diese Funktionen unten zusammen mit einem kleinen Ausschnitt zur Verwendung wiedergegeben, um das zu erreichen, wonach Sie fragen. Sie können dies als Ausgangspunkt verwenden und weiter optimieren.

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);
}