tag-exists

Last published July 28, 2025

The tag-exists command checks whether the tag you specify already exists in your database.

Tip: To set a tag on your database, use the tag command or tagDatabase Change Type.

Uses

The tag-exists command is typically used to identify whether the specified tag exists in the database or specifically in the DATABASECHANGELOG table. Running the tag-exists command checks for the tag and, based on whether it exists or not, provides the appropriate output.

Syntax

To run the tag-exists command, specify the driver, classpath, and URL in the Liquibase properties file. You can also specify these properties in your command line.

Then run the tag-exists command:

liquibase tag-exists --tag=myTag

Note: The --tag=myTag syntax was added in Liquibase 4.4. If you use an older version, specify your tag as a positional argument: <command> myTag.

Note: The username and password attributes are not required for connections and systems which use alternate means of authentication. Also, you can specify database credentials as part of the url attribute.

Command parameters

Attribute

Definition

Requirement

--tag=<string>

The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format <command> <tag> deprecated in 4.4+.

Required

--url=<string>

The JDBC database connection URL.

Required

--default-catalog-name=<string>

Name of the default catalog to use for the database connection

Optional

--default-schema-name=<string>

Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable.

Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName.

Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing.

Optional

--driver=<string>

The JDBC driver class

Optional

--driver-properties-file=<string>

The JDBC driver properties file

Optional

--password=<string>

Password to connect to the target database.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

Optional

--username=<string>

Username to connect to the target database.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

Optional

Output

Depending on the availability of the specified tag, there are two possible outputs.

The first example shows that the tag exists in your database.

Liquibase Version: 4.9.1 Liquibase Community 4.9.1 by Liquibase The tag 'version1' already exists in 'DBUSER@jdbc:h2:tcp://localhost:9090/mem:dev'. Liquibase command 'tag-exists' was executed successfully.

The following example indicates that the tag is not in the database.

Liquibase Version: 4.9.1 Liquibase Community 4.9.1 by Liquibase The tag 'myTag' does NOT exist in 'DBUSER@jdbc:h2:tcp://localhost:9090/mem:dev'. Liquibase command 'tag-exists' was executed successfully.