What is the DATABASECHANGELOG table?

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.

The default name of the DBCL is DATABASECHANGELOG. You can specify a different name with the --database-changelog-table-name parameter.

Columns

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 or on individual changesets.

DATEEXECUTED

DATETIME

Date/time of when the changeset was executed. Used with ORDEREXECUTED to determine rollback order. Alternatively, in Liquibase Pro 4.27.0+, use the DATABASECHANGELOGHISTORY table to track all changes.

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 increase within an individual update run. There are times when 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 no unexpected changes to the changesets in the changelog file. See Changeset Checksums.

DESCRIPTION

VARCHAR(255)

Short, auto-generated, human-readable description of the changeset.

COMMENTS

VARCHAR(255)

Value from the changeset comment attribute.

TAG

VARCHAR(255)

Tracks which changesets 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)

All changesets deployed with the same operation will have the same unique identifier.