Let’s face it – there are very few apps out there today that don’t rely on a database of some sort. So let’s assume, hypothetically, that your application uses a relational database (hey, crazier things have happened!).
Syncing app and database updates
Typically, when you release a new version of your app, you may include changes to your database structure to accommodate for new features and improvements. So how do you deploy your new version along with the database changes? How do you do this so that you can rollback to the earlier version – quickly if deployment were to fail, or eventually if you choose to do so? Manually deploying and rolling back apps is risky, extremely cumbersome, prone to human error, means late night shifts, and come on, it’s so ’90s!
LiveRebel 2.6 (psst … coming in March 13, 2013) has your back
We integrated LiveRebel 2.6 with Liquibase, a database-independent tool for tracking, managing and applying database changes. So this means, with LiveRebel, you can rollout or rollback apps with database changes, quickly and safely, while tracking all changes. This is a step up from the configuration scripts feature in LiveRebel 2.5, which made it simpler to automate using scripts called at various stages of app deployment – but you still had to glue it all together with shell scripts.
So, how do I use it?
First, you’ll need to let LiveRebel know where your database is. Unlike previous versions, where LiveRebel only managed Java application servers, 2.6 introduces new type of server: a database server.
The database server definitions in LiveRebel need to be configured with the details on how to connect to the database (host, port, schema, etc) as well as a JDBC driver, which is most likely already embedded in your application and will be automatically detected from there.
Once configured, you can simply deploy an archive containing your Liquibase changelogs (in WEB-INF/liverebel/db/master.xml) to one of these database servers and LiveRebel will take care of the execution. This archive can be the same WAR/EAR package that contains your application – so you can simultaneously deploy the same file to an application server and a database server.
Not familiar enough with Liquibase to write the changelogs? See this blog post by ZeroTurnaround’s very own Mirko Adari, for more info and an usage example. If you prefer not to learn a whole, new format or are averse to XML, you can use plain old SQL statements and import them from master.xml.
Stay tuned for more!
This is just a sneak peek into one of the cool features to come with LiveRebel 2.6. In the coming days, we’ll share more on the cool stuff we’ve been working on for the last 3 months. After launch, we’ll do technical deep dives into how you can use use these new features within your organizations, and rock app release automation.