Liquibase calculate-checksum command - why is DB connection required?

Hi Gurus

As per subject, why does the liquibase calculate-checksum command require a valid JDBC connection?

I was trying to calculate from my src repository the checksum of a changelog to see if it matches the MD5SUM entry in the DATABASECHANGELOG table in DB …

ID                             --> 01-220421-create-collection-user
AUTHOR                         --> mshannon
FILENAME                       --> db/changelog/01/01.xml
DATEEXECUTED                   --> 07-JUN-22 PM
ORDEREXECUTED                  --> 1
EXECTYPE                       --> EXECUTED
MD5SUM                         --> 8:18c4deb9ae5ebc67e2bc8a99b05f4919
DESCRIPTION                    --> sqlFile
COMMENTS                       -->
TAG                            -->
LIQUIBASE                      --> 4.11.0
CONTEXTS                       -->
LABELS                         -->
DEPLOYMENT_ID                  --> 4617903766

$JAVA_HOME/bin/java -cp /tmp -jar $LIQUIBASE_HOME/liquibase.jar calculate-checksum --changelog-file=db/changelog/01/01.xml --changeset-identifier="db/changelog/01/01.xml::01-220421-create-collection-user::mshannon" --url='jdbc:oracle:thin:@XXXXXX?TNS_ADMIN=YYYYYY' --username=TESTUSER1 --password=Welcome12345 --log-level=DEBUG --classpath=/git/myproject/src/main/resources

[2022-06-20 20:55:14] FINE [liquibase.util] Computed checksum for inputStream as 030ab13922ec1b2c8918acfae3272d1c
[2022-06-20 20:55:14] FINE [liquibase.util] Computed checksum for 8:030ab13922ec1b2c8918acfae3272d1c: as 18c4deb9ae5ebc67e2bc8a99b05f4919
Liquibase command 'calculate-checksum' was executed successfully.

Is there a reason the checksum command needs a valid back-end DB connection in order to process the inputstream of a local changelog file?

Welcome to the Liquibase Community! It needs the connection to update the databasechangelog table and/or check the database for runtime for what will run and potentially what to checksum.