(Thanks to EMF this project was created in < 2 hours)
An Editor for Liquibase DB Change Log
A cool DB Change Log editor - EMF Generated
Here is an example of the generated DB Change log, modelled after the liquibase quick start: http://www.liquibase.org/quickstart.html
<?xml version="1.0" encoding="UTF-8"?>
<dbchangelog:databaseChangeLog xmlns:dbchangelog="http://www.liquibase.org/xml/ns/dbchangelog">
<dbchangelog:changeSet author="bob" id="1">
<dbchangelog:createTable catalogName="" tableName="department">
<dbchangelog:column name="id" type="int" valueSequenceNext="Value Sequence Next	"><dbchangelog:constraints nullable="false" primaryKey="true"/></dbchangelog:column>
</dbchangelog:createTable>
</dbchangelog:changeSet>
</dbchangelog:databaseChangeLog>
Notice it misses the xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"
- plugins/ directory contains the Eclipse projects. So checkout this GIT repo from an Eclipse IDE and import the plugins in Your Eclipse workspace. Eclipse IDE can be downloaded from http://download.eclipse.org. The Modeling version will also contain the required dependencies.
- Eclipse IDE will automatically compile your projects and if all dependencies are resolved, you should not see any errors in the "Problems" view.
- Navigate the org.liquibase.product project and look for a file named: liquibase.product
- Open this file. It should look like below screenshot
- Finally, there are couple of little icons in the upper-right corner.
- Check all dependencies
- Run/Debug the editor
- Export the product as an executable. (win32/MacOSX/Linux-GTK).
If you managed to complete the Compile and Build stage, then you are ready to contribute. Some Ideas:
-
The editor is standard EMF. It has it's known limitations. Form based editing, and producing some imaging like a nice iconset for the DBChangeLog model would be great... oh and why not add a graphical editor with Graphiti.
-
Host the binaries: Well what to say... Downloading ready cooked binaries of the editor would be cool for adoption. Anyone can host them? (oh en setting up a Jenkins server to auto-build/test/publish would be neat).
-
Run liquibase from the editor: (I include a plugin with Liquibase in Eclipse plugin format, meaning liquibase is exposed to other plugins and can be called programmatically).
-
Manage JDBC Drivers: Woudn't be cool to browse and download JDBC drivers... We could even keep a repo. of jdbc driver URL's somewhere only, read-it, download, inject in the classpath and boom!
-
Support EMF/EDAPT <--> Liquibase transitions. See more here http://www.eclipse.org/edapt
Hope you like it! Christophe Bouhier http://modelmoo.blogspot.com