Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como copiar um esquema no mysql usando java


Você pode tentar usar o Apache ddlutils . Existe uma maneira de exportar os ddls de um banco de dados para um arquivo xml e reimportá-lo de volta.

O uso da API A página tem exemplos de como exportar esquema para um arquivo xml, ler do arquivo xml e aplicá-lo a um novo banco de dados. Reproduzi essas funções abaixo junto com um pequeno trecho de como usá-lo para realizar o que você está pedindo. Você pode usar isso como ponto de partida e otimizá-lo ainda mais.
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);
}