【发布时间】:2015-03-27 00:09:43
【问题描述】:
我正在使用 Liquibase 进行开发。我的数据库是 MySQL 5.5.42。这是我的示例更改日志文件:
databaseChangeLog:
- changeSet:
id: 1.0.0
author: madhead
changes:
- sqlFile:
path: "changesets/001-create_tables.sql"
relativeToChangelogFile: true
rollback:
- sqlFile:
path: "changesets/-001-drop_tables.sql"
relativeToChangelogFile: true
- changeSet:
id: 1.0.0-tag
author: madhead
changes:
- tagDatabase:
tag: 1.0.0
- changeSet:
id: 1.1.0
author: madhead
changes:
- sqlFile:
path: "changesets/002-create_triggers.sql"
relativeToChangelogFile: true
endDelimiter: ";;"
rollback:
- sqlFile:
path: "changesets/-002-drop_triggers.sql"
relativeToChangelogFile: true
- changeSet:
id: 1.1.0-tag
author: madhead
changes:
- tagDatabase:
tag: 1.1.0
如您所见,在每个变更集之后,我都标记了一个数据库(可以吗?)我希望 1.0.0-tag 和 1.1.0-tag 变更集在从头开始运行 liquibase update 后得到相应的标记。但我得到的是所有带有最新标签的变更集:
如果我连续四次使用updateCount 1,一切正常:
我认为问题可能是DATEEXECUTED,这对于所有变更集都是一样的。这是正确的行为吗?我该如何克服它?
【问题讨论】: