Liquibase not checking for already deployed changesets

Hello Everyone,

I’m using Liquibase 4.21.0 to deploy changes on AWS RDS MySQL clusters (MySQL 8.0).

Liquibase is not deploying already executed changesets which are the same as previously executed.
The same thing is working as expected while working with Liquibase 4.8.0 in another environment.

Liquibase Command -
PATH_LIQUIBASE_CLASSPATH = /home/ubuntu/workspace/Liquibase/mysql-connector-java-8.0.27.jar

liquibase --driver=com.mysql.cj.jdbc.Driver --classpath={PATH_LIQUIBASE_CLASSPATH} --url=“jdbc:mysql://{host}:3306/{database}?autoReconnect=true&useSSL=false” --username={MYSQL_USERNAME} --password={MYSQL_PASSWORD} --changelog-file={sql_file} --sql-log-level=info --logLevel=info update

Please suggest if some other flags need to be used while working with this Liquibase or MySQL version.

Liquibase is not deploying already executed changesets which are the same as previously executed.

Changesets that have already been deployed should not be deployed again. Please clarify the issue you are having.

Hi @daryldoak ,
Thanks for your response.

Yes, Changesets that have already been deployed should not be deployed again but I’m facing an issue with Liquibase 4.21.0 that it’s deploying changes again while working with AWS RDS MySQL 8.0 but I used to work with MySQL 5.7.

I’m not facing this issue while working with Liquibase 4.8.0.

I just tried to execute my program twice with the same files, parameters, and queries deployed both times.
I’ve attached the Jenkins execution output where I executed the job twice with the same parameters. -
First Execution -

I will share share second execution screenshot in next comment as this forum is not allowing me to add multiple media files.

Continued…
Second Execution -

That is very strange. Do you end up with duplicate changeset rows in the databasechangelog table?

Yes @daryldoak, There are duplicate entries in databasechangelog table.

That looks like a defect. I would recommend opening a github issue for that.

RE: [quote=“kkumawat, post:1, topic:8664”]
using Liquibase 4.21.0 to deploy changes on AWS RDS MySQL clusters (MySQL 8.0).
[/quote]

I am also using MySQL 8.0 and 5.7 in production environments. In my experience I had a number of issues with several versions of LB around the area of detecting change sets that need to be applied, checksums, and the refactoring of visitation algorithms which incorrectly iterated scripts. Please look through the fix notes for each of the releases. And code if you are so inclined.

I am currently successfully using version 4.20.0 and have verified that versions 4.21.0 – 4.23.0 all suffer from similar defects. A teammate has reported that 4.23.1+ fixes the issue, but I have not yet verified the fix or decided it is worth upgrading to.

–ben

1 Like

Thanks, @brself,
I’ll test out with versions 4.20.0 and 4.23.1+.