DdlUtils is an apache utility which generates database schemas (tables, fields) for multiple databases using a common XML format.
Apache DdlUtils is an apache utility which can generate database DDL for multiple databases from a common XML format. Examples of target databases might be PostgreSQL, HSqlDB or Oracle.
An XML definition for a simple database might look like:
<?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database.dtd">
<database name="stackoverflow">
<table name="question">
<column name="question_id"
type="VARCHAR"
size="40"
primaryKey="true"
required="true"/>
<column name="title"
type="VARCHAR"
size="50"
required="true"/>
<column name="user_id"
type="INTEGER"
required="true"/>
<column name="question"
type="VARCHAR"
size="255"
required="true"/>
</table>
<table name="answers">
<column name="answer_id"
type="INTEGER"
required="true"
primaryKey="true"
autoIncrement="true"/>
<column name="question_id"
type="VARCHAR"
size="40"
required="true"/>
<column name="user_id"
type="INTEGER"
required="true"/>
<column name="markdown"
type="VARCHAR"
size="255"
defaultValue=""
required="true"/>
<foreign-key foreignTable="question">
<reference local="question_id" foreign="question_id"/>
</foreign-key>
<index name="user_id_idx">
<index-column name="user_id"/>
</index>
</table>
</database>
DdlUtils includes integration with Ant for:
- Generating database DDL from a supplied XML file (model)
- Generating the DdlUtils XML model from an existing database.
Useful links: