Projects / dzo


The goal of dzo is to treat application database objects the same way the application's source code is treated, with respect to development, revision control, and deployment. Dzo uses a text file that contains native create statements for all database objects and compares them against the actual database-schema. As a result, dzo creates the SQL statements needed to update the database schema (or you can let dzo execute the SQL statements directly). If your application lives in a Tomcat or Java EE application server, dzo has a servlet that controls the deployment process, inspects and executes the necessary database changes, and finally deploys the application. Dzo currently works with HSQLDB, MySQL, Oracle, PostgreSQL, and SQL Server (more to come).

Operating Systems

Recent releases

  •  13 May 2012 20:46

    Release Notes: In this version, dzo is cygwin-aware (filenames and classpath can use Windows names or cygwin names). In Oracle, it adds support for types and virtual columns. It also adds a -D (--dbfile) switch so referencedata can be extracted.

    •  12 Jan 2012 21:39

      Release Notes: In this version, the old tomcat deployment Webapp is removed. The deprecated element has been removed from ant. Persistence annotations have been added (@@Annotation). A bug has been fixed when fetching code for functions/procedures/triggers/packages in Oracle. Drop and recreate foreign keys when something changes. A bug when fetching metadata for a specific primary key in Oracle has been fixed. Support has been added for "alter table XXX add constraint ...", so dzo can use ddl generated from other tools. Support has been added for PostgreSQL 9.1.

      •  09 Sep 2011 15:32

        Release Notes: This version is adapted for JBoss version 7. @Doc and @Docs annotation have been moved to a doc-package. A bug when displaying generated SQL between "#sql begin" and "#sql end" in dzo2 (the Web application) has been fixed. A hibernate_sequence table is created in MySQL when jpa-annotation @GeneratedValue is used (needed in hibernate 4). A maven sample has been added to the documentation.

        •  06 Jun 2011 21:15

          Release Notes: This release generate cross-references for foreign keys. It will drop and recreate the unique index, unique constraint, and foreign key when reference data changes in a column involved in the object. It handles the datatype bit when extracting reference data. It handles date and time in the expression evaluator. Maven goals XML and source handle schemas-attribute.

          •  19 Apr 2011 13:17

            Release Notes: Refactoring was done when traversing relations in jpa-annotated beans. The names of maven and ant tags were changed from "url" to "jdbcUrl", from "driver" to "jdbcDriver", and from "file" to "source". The attribute database was changed to dbType and is no longer mandatory. A unique key is created when a Map or Set is used in jpa annotated ElementCollection. The Swedish users' reference was removed, as it was outdated. Dependencies were added to jpa-annotations and the supported and downloadable jdbc-drivers in maven-plugin. The default directory in the WAR file for SQL source was changed to /META-INF. Some minor bugs were fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.