【发布时间】:2019-08-22 16:08:50
【问题描述】:
我想为任何数据库使用模式和表名生成 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;
}
这里使用了生成对象的模式名和表名,但我想将这两个作为输入而不生成对象
【问题讨论】:
-
试图理解您的要求,您实际上想要一个与数据库无关的 sqlite 转储命令(只是模式,而不是值)的程序等效项?