Would you be interested in offical, commercial Liquibase support and/or training?
Looking for feedback and interest. See the forum post for more information or to post your thoughts.
Database Change Management: The Blog
Archive for the ‘Uncategorized’ Category.
Looking for feedback and interest. See the forum post for more information or to post your thoughts.
Liquibase 2.0 RC5 is now available. It is purely a bug fix for a blocker bug with the ServiceLocator in RC4.
You can download it from http://liquibase.org/download
2.0 RC4 is now available. Like always, you can download it from http://liquibase.org/download.
The main changes in RC4 are improvements to the Maven POM configuration, and a change to how Liquibase classes and extensions are found and loaded.
The 2.0 features and 2.0 upgrade notes are still being added to as well.
As usual, let us know if you have any questions or problems
NOTE: There appears to be a bug, at least in the command line version. I’m looking into it…
2.0 RC3 is now available. Like always, you can download it from http://liquibase.org/download.
RC3 includes:
The 2.0 features and 2.0 upgrade notes are still being added to.
As usual, let us know if you have any questions or problems
I was never a huge fan of the upper case B in “LiquiBase” but had gone along with it since that was how it was. However, I’ve decided now that it bugs me too much, and so I am officially changing the product name to “Liquibase” with a lower case B.
I changed some of the documentation and all uses in the code. If you find a documentation page with the old capitalization, please fix it up.
As of the 2.0 release of Liquibase, we will switch to being licensed under the Apache License, version 2.0 rather than the LGPL.
The reason for the change is to make Liquibase more business friendly, especially with regards to being able to write extensions without worrying about license requirements that may be imposed by the LGPL. I’ll work on updating the license information on the web site and in the 2.0 codebase over the next few days. Let me know if you have any questions.
Part of the changes made in the upcoming 2.0 release is supporting the ability to specify changelog files in formats other than XML.
As a proof of concept, I added the ability to write your changelog files in specially formatted SQL format rather than XML.
You can now write your changelogs like this:
–liquibase formatted sql
–changeset nvoxland:1
create table test1 (
id int primary key,
name varchar(255)
);–changeset nvoxland:2
insert into test1 (id, name) values (1, ‘name 1′);
insert into test1 (id, name) values (2, ‘name 2′);–changeset nvoxland:3 (dbms:oracle)
create sequence seq_test
which, when run, will run three separate changeSets on oracle, and two changesets on all other databases. Note that this is specifying raw SQL, not abstracted liqubase changes like “createTable” that generate different SQL depending on the target database.
You do need to have your file contain “–liquibase formatted sql” on the first line, and delineate your changelogs with the “–changeset AUTHOR:ID” lines.
After the AUTHOR:ID, you can specify any attribute normally available on the or XML tags, including:
Since the formatted SQL builds the same internal changelog structure as the XML changelogs do, all the normal liquibase functionality (rollback, tag, dbdoc, updateCount, updateSQL, changelog parameters, etc.) are still available.
You can try out this new feature from the current 2.0 snapshot (http://liquibase.org/ci/latest). Let me know if you have any suggestions or problems. I am considering it an early access feature until 2.0 final is released, and there may be changes in the format of this file based on user feedback.
Congratulations to the winners of the 2009 LiquiBase Plugin Contest!
Grand Prize (Choice of 5 O’Reilly Books, donated by O’Reilly):
Oracle Extensions by Artur Kopacz, Damian Pezda, Łukasz Rejkowicz, Tomasz Wicherski
Runner Up (Laptop Bag, donated by Atlassian):
LiquiBase for JRuby on Rails by Tal Rotbart
Honorable Mentions (Choice of one O’Reilly Book):
I would like to thank everyone who participated, as well as the generous prize donations by Atlassian and O’Reilly. I will be contacting the winners via email, if you do not hear from me, please let me know.
Just a reminder that we will be having an online meetup in a few hours: Noon US Central Time (GMT-5) using the “Chat” functionality of the LiquiBase community forum (http://liquibase.org/forum/chat/index.php). To log in, you will need to be registered on http://www.liquibase.org/forum/
Hope to see you there!
As part of re-evaluating the LiquiBase APIs as part of the 2.0 codebase, I started an experimental .Net implementation to see what changes would need to be incorporated into the regular codebase to produce a liquibase.dll with as new little code as possible. I have the code to the point that I know it would work, and can see the direction it would need to go, but I will not have time to fully implement it for quite some time. That is where you could come in…
Despite thinking about alternate languages, I ended up finding that ikvm is the best option for us. I was able to split the existing java code into a “core” and “core-jvm” source directories. The “core” code is/will be java code, but without any jdbc or xml libraries (or java-specific technologies like Ant, Maven, and Servlets). The core-jvm source is all the remaining “java specific” code.
I then compiled the “core” java library into a dll and added it as a reference in a new “core-clr” source directory and visual studio solution. I was able to begin implementing the liquibase abstraction interfaces using OleDbConnection-based classes.
What is the current state? The liquibase code is divided between core, core-jvm, and core-clr, but the core-clr is far from complete. Since we can use the core liquibase.dll, 90% of the liquibase code will be shared between the two projects, so bugfixes will be applicable to both, new features will be applicable to both, and the .net port will include all the cross-database support and refactorings that currently exist in liquibase. What needs to be done is:
If you are interested in helping, please send me an email (nathan [at] voxland.net). You do not need to be proficient in java to help, we can handle any changes to the java liquibase codebase to support you as needed.