Database compare by Liquibase >Do you have a way to compare two databases to check whether they are the same or they differ? And if they differ, would you like to know what is the difference? What would you say if I told you that Liquibase can do it and even generate an update script to make them the same? Oh, yes, it can. I am going to show you how to use it.

diffDo you have a way to compare two databases to check whether they are the same or they differ? And if they differ, would you like to know what is the difference? What would you say if I told you that Liquibase can do it and even generate an update script to make them the same? Oh, yes, it can. I am going to show you how to use it.

Autorollback in Liquibase Liquibase has a lot of cool features that makes this tool very useful. One of my favorite is autorollback.

autorollbackLiquibase has a lot of cool features that makes this tool very useful. One of my favorite is autorollback. I do not have to write rollback instructions for all changes sets to keep a possibility of reverting changes. Liquibase does it by itself for the majority of DDL statements. My video shows how it can be used, when it works and when it does not.

If you are missing more basic information about Liquibase, check my introduction to Liquibase article and video or other Liquibase articles.

continuous deliveryFidelity, one of the biggest financial companies in the US, use Datical DB to support Continuous Delivery. It is an information that interests me because Datical DB is based on Liquibase which I have blogged about. So far there is nothing much known, but they scheduled a webinar for the upcoming week to share their experience. If you think about using Datical DB (or Liquibase) in a similar fashon, it might be worth to watch it. Details about the event can be found below.

gradleTasks smallLiquibase is great for managing database scripts and tasks like upgrading, rolling back, verification. If you have an automated building and deployment process, you would like to include Liquibase tasks in it. If, by any chance, the project is Gradle-based and the above tasks run proper Gradle tasks, the best option would be to use Gradle for handling Liquibase too. That is possible and I would like to share with you the way how it can be done using liquibase-gradle-plugin.

rerunLiquibase, besides its the most obvious functionality which is making sure each change set is executed once on a database, it offers a possibility of handling some change sets in a different way. In most cases, it does not make sense to execute a change more than once. For example a table creation - if a table was created during migration to version 2, it should not be created again during migration to version 3. But some changes are more natural to be executed every time an upgrade occurs. Liquibase supports such cases and this is what I would like to share with you today.