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…
Mostly it is very suitable for any product based company who wants to add a CI system for their products. This tool is perfectly suitable for a company which releases builds very frequently. By using this tool they can reduce a tremendous amount of manual effort. If company's budget is not high and if they can not afford the premium plan then this tool won't be suitable for them because the basic version of this tool won't provide much functionality
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.
First thing is this tool is scalable which is the biggest advantage of this tool. It won't take much time in setup and making it ready. It has a very good user interface.
This tool has almost every source code repository support like Git, SVN, Microsoft Foundation Server etc. Moreover, it has very good support for various build tools like Visual Studio, MSBuild etc., which makes it even batter.
We can trigger multiple builds at a time with the Premier subscription.
It allows users to apply many deep levels of configurations which make the whole system even easier.
Mostly I don't have much more recommendation for improvement because this tool provides almost everything which would be required in any continuous integration system. But still I would suggest improvement in the reporting system. The build report is a field where they can make improvement by adding more information if they want.
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 company I have used Jenkins for maintaining their CI system. Even this tool is also very good. The good thing about this tool is it’s an open source project. So in terms of pricing, we can consider this tool as an alternative to continua CI. One has to compare both of the products before going to use any one because both have their own benefits and drawbacks.
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.
Basically, this tool will reduce manual effort of creating, deploying and testing software products. So ultimately it will reduce manpower which would otherwise be required for such things.
It is time saving and improves the overall performance of the entire team and system.
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.