2013-06-12 45 views
4

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

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

+0

电源设计师提供免费comunity版本我错过了,看起来非常稳固。但是如果还有其他工具仍然想尝试。 –

回答

4

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

其实你可以使用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); 
+0

谢谢,这只是我一直在寻找的东西。 – mtyson