1
我在我的一个项目中使用jooq(版本3.5.3),我对此很满意。现在我遇到了这样的情况:检查数据库中的表是否可用,如果不是这样,请创建它。有没有办法在jooq中做一个反向的“代码生成”?
当我在新系统上安装我的软件时,它会派上用场,我可以自动处理表格创建。
我最初的想法是使用:
DSLContext create = DSL.using(conn, SQLDialect.POSTGRES);
for (Table<?> t : Public.PUBLIC.getTables()) {
create.createTable(t);
}
然而,它什么都不做,因为它缺乏.execute()
。但是,显然只有在添加至少一个.column()
时才有可能。如果我做
create.createTable(t).column("foo", SQLDataType.INTEGER).execute();
它的工作原理,并创建表,但(自然)只有一列名为foo。
因此,问题是:是否有一种懒惰的方式来创建适合生成的代码的数据库表,还是我必须使用更手动的方法呢?
非常感谢。并保持良好的工作,这真的很有帮助! – MCMLXXXII
@MCMLXXXII感谢您的好评! –