Liquibase is a database change management tool that extends DevOps best practices to the database, helping teams release software faster and safer by bringing the database change process into existing CI/CD automation. According to the 2021 Accelerate State of DevOps Report, elite performers are 3.4 times more likely to incorporate database change management into their process than low performers. Liquibase value proposition: Liquibase speeds up the development…
N/A
Redgate Flyway
Score 9.6 out of 10
N/A
Redgate Flyway extends DevOps practices to databases to speed up software delivery while keeping business-critical data safe. From version control to continuous delivery, Redgate Flyway helps enterprises build on application delivery processes to automate database development and deployments.
Any Codebase that does schema or table changes all the time for development or where Development and code is mostly in the database or SQL liquibase is a must. In a codebase where the database is pretty static or is just a place to dump data, liquibase is probably too much. You also need to have a team for it to really make sense. Doing a solo or small team project doing full version control on the database is probably more overhead than it is worth.
If your application is running on many environments then some kind of automation for database migrations should be implemented. This will save time and trouble for employees and helps to manage migrations. However it must be understood that it is not a magical tool & should be studied properly so that it's limitations are understood & it will be used properly. Otherwise it might cause problems to the application.
Reducing Compatibility issues, when we upgraded Liquibase from 4.2 to 4.9. The same changeset which we were able to run on successfully using 4.2, part of it was now failing when tried to deploy using 4.9
We are not able to see detailed logs (for different changes) in uDeploy when deploying changes through Liquibase
Liquibase should rollback the if any one of the changes fails.
We are and will continue using Liquibase and it has become an integral part of our portfolio offering, any new product is by default adopting Liquibase stack.
Liquibase's customer support team has been very instrumental in helping us drive the whole Database CI/CD initiative. We have always received very quick resolution to our queries or any roadblock we hit. Right from setting up Liquibase in our environment to this date the Liquibase team has always helped us deliver quality and innovative solutions.
In my previous project and organization I have used Flyway for database change management and version control similar to Liquibase which I am currently using. Comparing it with Flyway, Liquibase provides more feature flexibility and enhancements to handle complex workflows with rollback capability and its usage of contexts and labels allow us to target changes to specific environments, which Flyway doesn’t support natively. Also Liquibase provides way to compare different schema and generate changelogs for syncing environments automatically where in it allows to have declarative schema management by using XML/YAML/SQL script format.
The problem with a cloud-based tool for migration services is the cloud dependency. You are restricted to use the tool along the Cloud provider. Flyway gives you the freedom to use it in any scenario as long as you are working with a compatible database engine. Even if you are working on-premise and you don't have plans to move to a cloud architecture. Or even for sandbox development scenarios where you are a developer playing around with some project ideas. And you don't have to pay anything as long as you need advanced features, and not less importantly, you are using an open-source tool.
We are still in the early phases, where the costs are potentially greater than the benefit. Trying to get Liquibase integrated into a pipeline has taken time investment and required some trial and error.
We are still a relatively small shop with a relatively small number of schema changes (perhaps 1 every week or so). As such, we aren't at a place where we couldn't have managed control of this without a tool. However, there is no doubt that investing in a tool at this stage was the right move. Now we have established guidelines and a pattern for how to do schema changes in a way that will make things easily scalable as we continue to grow.