21st July 2009, 08:14 pm
LiquiBase 2.0 beta 2 is now available. You can download it from http://www.liquibase.org/download
There is no new major functionality yet, but lots of reorganized code and a plugin-framework that works with the command line.
Let us know if you have any issues with it.
17th July 2009, 11:27 pm
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:
- Re-implement the connection based logic using OleDbConnection (or better .net interface?). This includes translating the abstracted liquibase “execute this sql” calls as well as the database metadata reading logic.
- Re-implement the XML parser using .net libraries. This has not been started, but the abstractions are already there in the liquibase code.
- Create any .Net specific integrations (IIS, NHibernate, MSBuild, Installer, etc.)
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.
15th July 2009, 12:38 am
The LiquiBase plugin contest is underway and there is still time to submit your extensions. If you are looking for inspriation, there is now an “Ideas Page” on the Extension Portal to get you started.
If you are not planning on creating an extension, but have something that you would like to see created, please add it to the list as well.
Remember, the contest deadline is August 31st and the sooner you submit an entry, the more time you have for feedback to improve it before the contest ends.
6th July 2009, 03:46 pm
Beta 1 of LiquiBase 2.0 has been released. It can be downloaded from http://www.liquibase.org/download.
The main improvement over milestone 1 is that it can be ran against existing changelog scripts, so it can be fully tested with existing databases.
Also, do not forget the LiquiBase Extension Contest currently underway!
24th June 2009, 03:31 pm
LiquiBase 2.0 is all about 3rd party extension and integration, and to help kick that off, we are holding a contest.
Thanks to donations from Atlassian and O’Reilly, we have some great prizes for the winners
Rules
- Your entry must embed or extend LiquiBase
- Extensions must be compatible with Liquibase 2.0 (currently under construction)
- Your plugin must be listed on the LiquiBase Extension Portal
- You must announce your extension and your interest in submitting it to this contest on the LiquiBase User Forum
- There is no license restrictions on your plugin, although we prefer an open source license
Prizes
Grand Prize:
- Your choice of 5 O’Reilly books, donated by O’Reilly
- One copy of PostgreSQL
Runner Up:
- Atlassian laptop bag from Timbuk2 (US$150 value), donated by Atlassian
- One copy of MySQL Community Edition
5x Honorable Mentions:
- Your choice of 1 O’Reilly book, donated by O’Reilly
- One copy of JavaDB
Judging
The winning plugins will be judged by lead developer Nathan Voxland on:
- Usefulness
- Creativity and Elegance
- Completeness
- Code quality and documentation
Key Dates
- June 24th, 2009: Contest opens
- August 31st, 2009, High Noon, US Central Time (GMT-5): Contest closes
- September 15th, 2009: Winners Announced
For more information, see the offical contest page
24th June 2009, 02:53 pm
Although it is currently just a skeleton of what it will be, the LiquiBase Extension Portal is now open at http://www.liquibase.org/extensions.
The goal of the extension portal is to provide:
- A place for database-specific or experimental functionality that has not/should not be incorporated into the main LiquiBase library
- A single location for end-users to find plug-ins of value to them
- An easy way for 3rd parties to submit, manage and maintain plug-ins by providing a documentation wiki, issue tracking, and source control
- Documentation on how to create your own extensions for public or private use
I was hoping to improve the sample extension pages (set-identity-insert and vacuum) to provide a better template, but I wanted to get something out before the online meetup tomorrow. We will improve the content on the portal over the next week once real work settles down.
As always, let us know if you have any questions or comments on the portal.
24th June 2009, 02:07 pm
The first public release of LiquiBase 2.0 is now available. This release is a milestone release, and therefore not for general consumption, it is not even at beta stage yet.
The focus of milestone 1 was a major refactoring and standardization of the external-facing APIs to give 3rd party extension contributors a stable platform to build on. We have not yet begun to address bugs found in 1.9 or implement new functionality. Additionally, the checkum generation logic has changed and is currently incompatible with checksums generated in liqubase 1.x. LiquiBase 2.0 final will handle upgrades graceful.
Because it is just a milestone release, the download packages are not on sourceforge, but are linked from the download page.
Please let us know of any feedback, questions, or bugs you find. Although we have focused on stabilizing the API, parts may change during the milestone phase based on feedback from the community.
The roadmap for 2.0 is to have several milestone releases, followed by a beta period. 2.0 final is scheduled for a September release, although that may change.
Note: Don’t forget the LiquiBase online meetup tomorrow!
23rd June 2009, 12:40 pm
LiquiBase 1.9.4 has been released. The 1.9.x branch continue to be maintained, even as work continues on LiquiBase 2.0.
1.9.4 is primarily a bug fix release, but also introduces the following features:
- DB2 for iSeries support
- Improved Maven support
- executeCommand does not run under updateSQL etc.
As usual, you can download the newest version from http://www.liquibase.org/download and post any questions or issues to http://www.liquibase.org/forum
We would like to thank Mark Logemann, Don Smith, and Oleg Taranenko for the patches they submitted.
5th June 2009, 10:49 am
We will be having our first meetup 2009-6-25 at 12:00 PM 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/
I will be there to discuss the upcoming 2.0 release, development processes, outstanding issues and feature requests, and anything else of interest to participants. Planned time is 1 hour.
Hope to see you there
4th June 2009, 01:15 am
One of the questions that was discussed on a recent StackOverFlow podcast was “Do you source control your database“.
It is, obviously, a question near to my heart and I very much agree with the answer of “YES”. I also like that “use liquibase” has a few up votes and isn’t too far down the page…
It is great to see the concept getting some attention. I know that managing your database changes is just as vital as managing your code changes, yet the discussion, tool support, and interest is significantly higher for code version control than it is for database version control. There are endless articles and podcasts on SVN vs. Git, source control best practices, and mocking of people still using CVS and VSS, but basically no mention of LiquiBase vs. ActiveMigrations, database changeset best practices, or mocking of people manually managing their database changes or using database diff tools.
I know LiquiBase has saved my butt as many times as SVN has, and I want it to be able to help as many other developers as possible. The first step, however, is learning that there are tools out there that will help them.