mark-next-changeset-ran

The mark-next-changeset-ran command marks the next change you apply as executed in your database.

Uses

The mark-next-changeset-ran command is typically used when you have made a change manually, and the deployment is failing. Here is a use case that shows the whole process in more detail:

  • You have a changelog with a specific changeset and want to create a table in your database, and then apply your changes manually without using Liquibase. In this case, there will be no record of this change in the DATABASECHANGELOG table.
  • Then you decide to deploy the same changeset by using the update command, Liquibase checks the DATABASECHANGELOG table to see if there is such a changeset. Since there is no record of it, Liquibase tries to create a table, but as it already exists, you receive an error.
  • As a result, Liquibase stops deployment at that specific changeset without executing it.
  • Running the mark-next-changeset-ran adds that changeset in the changelog as a record even though the table is already created. The command detects that the changeset was deployed.

Additionally, the best practice is to run the mark-next-changeset-ran-sql helper command to inspect the mark-next-changeset-ran SQL, so you can correct any issues that may arise before running the command.

Running the mark-next-changeset-ran command

To run the mark-next-changeset-ran command, specify the driver, classpath, and URL in the Liquibase properties file. For more information, see Specifying Properties in a Connection Profile. You can also specify these properties in your command line.

Then run the mark-next-changeset-ran command:

liquibase --changelog-file=myChangelog.xml mark-next-changeset-ran

Note: Enter the name of the changelog in place of myChangelog.xml.

mark-next-changeset-ran global attributes

Attribute Definition Requirement

--changelog-file

The root changelog

Required

--url

The JDBC database connection URL

Required

--username

The database username

Required

--password

The database password

Required

Note: The username and password attributes are not required for connections and systems which use alternate means of authentication.