簡體   English   中英

通過使用架構和表名使用jooq生成DDL

[英]Generate DDL using jooq by using schema and table name

我想使用任何數據庫的模式和表名來生成DDL。以下是我正在嘗試的代碼:

DSLContext dSLContext = DSL.using(getPostgresqlDataSource().getConnection());
Queries ddl = dSLContext.ddl(DefaultCatalog.DEFAULT_CATALOG.WORLD_SEED.ATM);

for (Query query : ddl.queries()) {
    System.out.println(query);
}

private static DataSource getPostgresqlDataSource() { 
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("org.postgresql.Driver");
    dataSource.setUrl(System.getenv("WORLD_JDBC_URL"));
    dataSource.setUsername(System.getenv("WORLD_JDBC_USERNAME"));
    dataSource.setPassword(System.getenv("WORLD_JDBC_PASSWORD"));
    return dataSource;
}

在這里,已經從生成的對象中使用了架構名稱和表名稱,但是我想在不生成對象的情況下將二者作為輸入

您可以通過DSLContext.meta()從JDBC連接訪問實時元信息,按感興趣的模式和表進行過濾,然后將其傳遞給ddl()方法。 請注意, org.jooq.Meta引用的元信息比生成的代碼略少,因此您的DDL可能無法反映確切的原始模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM