Liquibase creating changelogs and not executing them

Dear Supportteam

I have a project with the following build definition
image

Each time I debug the application, there is a changelog file created, as I did update several entities but the changelog get never executed.

2025-10-17T08:00:01.074+02:00  INFO 4648 --- [4.0] [           main] liquibase.database                       : Set default schema name to dbo
2025-10-17T08:00:01.573+02:00  INFO 4648 --- [4.0] [           main] liquibase.changelog                      : Reading from DATABASECHANGELOG
2025-10-17T08:00:01.713+02:00  INFO 4648 --- [4.0] [           main] liquibase.ui                             : Database is up to date, no changesets to execute
2025-10-17T08:00:01.715+02:00  INFO 4648 --- [4.0] [           main] liquibase.changelog                      : Reading from DATABASECHANGELOG
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : UPDATE SUMMARY
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : Run:                          0
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : Previously run:              21
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : Filtered out:                15
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : -------------------------------
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : Total change sets:           36
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : FILTERED CHANGE SETS SUMMARY
2025-10-17T08:00:01.735+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : DBMS mismatch:               15
2025-10-17T08:00:01.737+02:00  INFO 4648 --- [4.0] [           main] liquibase.util                           : Update summary generated
2025-10-17T08:00:01.738+02:00  INFO 4648 --- [4.0] [           main] liquibase.command                        : Command execution complete

If I try to update it manually
image

I get the simple message
image

which is not true !

Somehow liquibase see the difference, as it is generating over and over changelogs, but I have no chance to execute these updates ;/

How to solve this issue ?

Regards
Felix

Hello,

I may have a suggestion, it happens to me sometimes during development, when I change databases, or restore them from backup … a desync happens between Liquibase changesets and the data in the Liquibase tables in databases.

In your database, you can find these 2 tables:

1 What is the DATABASECHANGELOG table? - Liquibase
Liquibase tracks which changesets have been run by using the DATABASECHANGELOG (DBCL) table. If the table does not exist in the database, Liquibase creates one automatically.

  1. What is the DATABASECHANGELOGLOCK table? - Liquibase
Liquibase uses the DATABASECHANGELOGLOCK (DBCLL) table to ensure only one instance of Liquibase runs at a time. If the table does not exist in the database, Liquibase creates one automaticall
Liquibase

So Liquibase thinks that it made the changes. You can generate Jmix views and put them in some admin menu to see what’s in there, and delete the entry from databasechangelog so it will apply it.

Kind regards,
Mladen

Hi @mbucan

My databasechangelog contains records from 2025-04-29 until 2025-05-28 where I have the changelog.xml’s.

After disabling Liquibase because of too many problems, I did reactivate it and liquibase is generating a correct changelog file each time I start the application …

image

But it does not execute these changelog files !

It is writing to the log
2025-10-17T14:35:51.694+02:00 INFO 21404 — [4.0] [ main] liquibase.util : DBMS mismatch: 15

How is it possible to execute manually one of these changelog.xml, so it does not get generated over and over and the application is not working correctly ?

Best regards
Felix

Hi

Could you please attach your root changelog.xml file content?

And another point. You have this numbers in you Liquibase log.

Previously run:              21
Filtered out:                15
-------------------------------
Total change sets:           36

Do this numbers change when yet another changelog generated on the application start?

Hi @gaslov

changelog.xml (1.1 KB)

As I had to move ahead with my work, I did delete all the 20-081524-…xml files and deleted all the report*, flowui* and sec* tables, so liquibase did recreate everything and I manually copied the content to the tables. Unfortunatly I do not have the time to redo all this to check what was the cause.

My request was to manually execute one of these xml files. Today I think, it is possible by including the xml which we want to execute directly in the changelog.xml, correct ?

In the generated liquibase files before any adding of a table or field the condition “if it does not already exist” should be included. If I change a xml file manually, I get an error from liquibase that the checksum does not fit. Is there any cheat-sheet, how to fix this ?

I’m afraid that you can’t execute some changelog manually in the free version of Liquibase.
There is a update-one-changeset command that seems to be the one you need, but requires Liquibase Secure License Key to use it. See update-one-changeset - Liquibase
Including the file directly in the changelog.xml is unlikely to help. As all the files already included by the <includeAll path="... clause.
Regarding the modification of generated changelogs. You can modify changelog only if it wasn’t executed before. So you can use Studio “Generate Liquibase Changelog” action, modify generated files and then run Liquibase Update.