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 |
|
| Value from the changeset |
|
| Value from the changeset |
|
| 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 |
|
| Date/time of when the changeset was executed. Used with |
|
| Order that the changesets were executed. Used in addition to Note: The values are only guaranteed to increase within an individual update run. There are times when they will restart at zero. |
|
| Description of how the changeset was executed. Possible values include |
|
| 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. |
|
| Short, auto-generated, human-readable description of the changeset. |
|
| Value from the changeset |
|
| Tracks which changesets correspond to tag operations. |
|
| Version of Liquibase used to execute the changeset. |
|
| Context(s) used to execute the changeset. |
|
| Label(s) used to execute the changeset. |
|
| All changesets deployed with the same operation will have the same unique identifier. |