Liquibase uses the DATABASECHANGELOG table to track which changeSets have been ran.
The table tracks each changeSet as a row, identified by a combination of the “id”, “author” and a “filename” column which stores the path to the changelog file.
|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|
|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 changSet 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 changeSets correspond to tag operations.|
|LIQUIBASE||VARCHAR(20)||Version of Liquibase used to execute the changeSet|
There is no primary key on the table. This is to avoid any database-specific restrictions on key lengths.