The company I’m working for has tasked me to investigate how we could implement Liquibase into our deployment plans.
I have a few questions if you could answer that could shed some light into how we could integrate your software.
We are using SQL scripts to upload our data (structures and raw data) and we are wondering if the Liquibase keeps the historical data etc over the server? So regardless of who’s using the database could they be able to see all of the changes? We use MSSQL Server Management.
I’m in charge of the deployments and we are currently using git dev azure.
What do you mean by this? Liquibase tracks what changesets you ran, in the databasechangelog table of that target server. The changeset itself will contain the data, and if you want that saved/versioned, you would commit it and your lb project to your source control (git in this case).
That does not happen with liquibase cli. If you wanted that you would have to use Liquibase HUB:
Thank you for your reply!
If I have a SQL script that I implement using changesets, at some point if I change the SQL script it will keep track of the particular script?
So if I execute a new version I can revert to an older version of the script if I wish to do so?
And liquibase hub is used for if I want to our team to keep track of everything rather than it being “local”?
I think you would use a source code management (SCM) system (github) to keep track of changes to the script. And then you apply the changesets to the database and liquibase will track the changes that have been applied.
@Bruce is correct. Liquibase is managing the change-sets and leverages your own SCM to track history of the scripts. Liquibase tracks history of deployments on target dbs.