Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

cách sao chép một lược đồ trong mysql bằng java

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. COMMIT HOẶC conn.setAutoCommit (true)

  2. Lưu trữ tệp hình ảnh hoặc URL trong cơ sở dữ liệu MySQL? Cái nào tốt hơn?

  3. Lỗi Hibernate khi thực thi DDL qua Tuyên bố JDBC

  4. Mã hóa ở trạng thái nghỉ và / hoặc AES_ENCRYPT

  5. Để fork hay không để fork?