Java apache中DDLUtils的替代方案
我想知道有哪些替代方案可以取代Apache中的DDL UTIL 我这样问是因为ddlutils将接缝投影为死接缝,而且它不支持H2数据库。我已经搜索过了,我找到了像liquidbase或flyway这样的建议 我的问题是:这些框架在项目启动时运行,并基于一些XML文件更改数据库结构。它们实际上是为数据库迁移而设计的 我想要的是一个在运行时以高抽象级别创建/更改表的框架,即至少支持Mysql、Sqlserver、oracle和H2 例如,我可以告诉引擎,我想创建一个带有字段年龄和类型编号的表,框架将重新表述为:Java apache中DDLUtils的替代方案,java,database,runtime,ddl,ddlutils,Java,Database,Runtime,Ddl,Ddlutils,我想知道有哪些替代方案可以取代Apache中的DDL UTIL 我这样问是因为ddlutils将接缝投影为死接缝,而且它不支持H2数据库。我已经搜索过了,我找到了像liquidbase或flyway这样的建议 我的问题是:这些框架在项目启动时运行,并基于一些XML文件更改数据库结构。它们实际上是为数据库迁移而设计的 我想要的是一个在运行时以高抽象级别创建/更改表的框架,即至少支持Mysql、Sqlserver、oracle和H2 例如,我可以告诉引擎,我想创建一个带有字段年龄和类型编号的表,框架
create table MY( id bigint(20))
create table MY(id bigint)
create table MY (id, number)
取决于基础数据库引擎
有什么建议吗
我可以看到ddlutils有一个补丁,它支持H2。但是,我无法修补我的svn签出
任何帮助都将不胜感激
提前谢谢
rui这看起来很有希望:
https://bitbucket.org/aragot/play-sql-dialects/src
至少作为一个开始。Mogwai ERD designer可能会有所帮助,尽管他们不正式支持H2,但您可以将H2置于与受支持的DB系统之一的兼容模式:我知道这是一个旧线程,但希望给出一个明确的答案 是的,DdlUtils已经死了,已经两年没有更新了 然而,看起来这些人可能已经转向了。他们的回购协议是无效的 只要您仔细研究一下表面,就会发现DdlUtils的核心仍然存在(甚至还有一些旧的Apache版权声明) 类名已更改,API已更改,因此没有1对1的映射,但它正在定期更新,并包括H2和其他数据库支持。老实说,我宁愿得到这些东西,而不是保留旧的API 您不会找到与旧的DdlUtils doco相同的使用对称DS的指南,但代码中有足够的内容,您应该能够将其拼凑在一起。看看它在生成DDL(以及DML)时非常有用
你找到什么了吗?我也需要这个@Gabriebr你找到什么了吗?想知道一个关于这个的好的最新框架吗
create.createTable("table")
.column("column1", INTEGER)
.column("column2", VARCHAR(10).nullable(false))
.constraints(
constraint("pk").primaryKey("column1"),
constraint("uk").unique("column2"),
constraint("fk").foreignKey("column2").references("some_other_table"),
constraint("ck").check(field(name("column2")).like("A%"))
)
.execute();