7

是否有开源/免费的 liquibase ( http://www.liquibase.org ) xml 生成器?

替代“Power Architect 和 Liquibase 组合”。我在哪里可以创建数据库模型,然后将其转换为 Liquibase XML 格式或将纯 sql 转换为 Liquibase XML?

4

1 回答 1

7

因为我知道,没有任何可用的生成器。

实际上,您可以使用liquibase 核心类自行完成。

使用示例:

// .. imports

// create a changelog
liquibase.changelog.DatabaseChangeLog databaseChangeLog = new liquibase.changelog.DatabaseChangeLog();

// create a changeset
liquibase.changelog.ChangeSet changeSet = new liquibase.changelog.ChangeSet("1", "prates", false, false, "", null, null, true, null, databaseChangeLog);

// create a drop table change
liquibase.change.core.DropTableChange dropTableChange = new liquibase.change.core.DropTableChange();

dropTableChange.setTableName("person");

changeSet.addChange(dropTableChange);

// add created changeset to changelog
databaseChangeLog.addChangeSet(changeSet);

// create a new serializer
XMLChangeLogSerializer xmlChangeLogSerializer = new XMLChangeLogSerializer();

String output = null;

ByteArrayOutputStream baos = new ByteArrayOutputStream();

xmlChangeLogSerializer.write(databaseChangeLog.getChangeSets(), baos);

output = baos.toString();

// print output
System.out.println(output);
于 2014-04-01T21:09:00.047 回答