Liquibase uses the DATABASECHANGELOG table to track which changesets have been run.

The table tracks each changeset as a row, identified by a combination of the “id”, “author”, and “filename” columns.

There is no primary key on the table. This is to avoid any database-specific restrictions on key lengths. The composite of “id”, “author”, and “filename” is unique across all rows of the table.

Column Standard data type Description
ID VARCHAR(255) Value from the changeset "id" attribute.
AUTHOR VARCHAR(255) Value from the changeset "author" attribute.
FILENAME VARCHAR(255) Path to the changelog. This may be an absolute path or a relative path depending on how the changelog was passed to Liquibase. For best results, it should be a relative path. The `logicalFilePath` attribute can be used [on the changelog](/documentation/databasechangelog.html) or [on individual changesets](/documentation/changeset.html).
DATEEXECUTED DATETIME Date/time of when the changeset was executed. Used with ORDEREXECUTED to determine rollback order.
ORDEREXECUTED INT Order that the changesets were executed. Used in addition to DATEEXECUTED to ensure order is correct even when the databases datetime supports poor resolution.

NOTE: The values are only guaranteed to be increasing within an individual update run. There are times where they will restart at zero.
EXECTYPE VARCHAR(10) Description of how the changeset was executed. Possible values include "EXECUTED", "FAILED", "SKIPPED", "RERAN", and "MARK_RAN".
MD5SUM VARCHAR(35) Checksum of the changeset when it was executed. Used on each run to ensure there have been no unexpected changes to changesets in the changelog file.
DESCRIPTION VARCHAR(255) Short auto-generated human readable description of changeset
COMMENTS VARCHAR(255) Value from the changeset "comment" attribute
TAG VARCHAR(255) Tracks which changeset correspond to tag operations.
LIQUIBASE VARCHAR(20) Version of Liquibase used to execute the changeset.
CONTEXTS VARCHAR(255) Context(s) used to execute the changeset.
LABELS VARCHAR(255) Label(s) used to execute the changeset.
DEPLOYMENT_ID VARCHAR(10) changesets deployed together will have the same unique identifier.