【问题标题】:Liquibase XML generatorLiquibase XML 生成器
【发布时间】:2025-11-24 03:20:03
【问题描述】:

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

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

【问题讨论】:

  • Power Architect 有免费的社区版本,我错过了,看起来很可靠。不过如果有其他工具还是想试试。

标签: java xml database generator liquibase


【解决方案1】:

据我所知,没有任何可用的生成器。

其实你可以用liquibase core classes自己做。

使用示例:

// .. 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);

【讨论】: