sql >> データベース >  >> RDS >> Mysql

Javaを使用してmysqlでスキーマをコピーする方法

    Apacheddlutils を使用してみてください 。 ddlsをデータベースからxmlファイルにエクスポートし、再インポートする方法があります。

    apiの使用法 このページには、スキーマをxmlファイルにエクスポートし、xmlファイルから読み取り、それを新しいデータベースに適用する方法の例があります。私はあなたが求めていることを達成するためにそれを使用する方法についての小さな断片とともにそれらの関数を以下に再現しました。これを出発点として使用し、さらに最適化することができます。

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


    1. ストアドプロシージャを使用して選択したい値を取得できません

    2. SQL ServerでFORMAT()を使用するときに不変カルチャを指定する方法

    3. インストールせずにWindowsでpostgresqlとpgadminを起動する

    4. mampポートを80および3306に設定する