繁体   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