我知道我可以通过变更集在我的变更日志中包含一个版本标签
<changeSet id="1234" author="John">
<tagDatabase tag="version_1"/>
</changeSet>
这将允许我将数据库回滚到 version_1。
如果我有一个全新的数据库,是否可以运行更新并只针对一个标签?我知道我可以进行完整更新然后回滚,但这有点尴尬。
我知道我可以通过变更集在我的变更日志中包含一个版本标签
<changeSet id="1234" author="John">
<tagDatabase tag="version_1"/>
</changeSet>
这将允许我将数据库回滚到 version_1。
如果我有一个全新的数据库,是否可以运行更新并只针对一个标签?我知道我可以进行完整更新然后回滚,但这有点尴尬。
更新: 现在有一个 updateToTag 命令。请参阅https://docs.liquibase.com/commands/community/updatetotag.html
原文: 目前没有更新到标签的方法。Liquibase 假定更改日志与您的代码匹配,因此您需要确保所有内容都已运行。通常,如果您只想运行变更日志的一部分,您将使用多个变更日志或具有不同变更日志版本的代码分支。
您可以使用 updateCount 运行一定数量的 changeSet,但您需要知道数量。您还可以使用将在某个点停止 changeSet 执行的标签(可能由上下文或预编码控制),但它与标签功能无关。
它们现在具有 liquibase 命令的新属性。做就是了:
liquibase updatetotag <tagname>