Liquibase 从 2.0.4 迁移到版本 3.4.0 后缺少列 'CONTEXTS'

missing column 'CONTEXTS' after Liquibase migration to version 3.4.0 from 2.0.4

我尝试将 Liquibase 从旧版本 2.0.5 迁移到 3.4.0。我尝试的第一件事是状态命令,导致读取 table 'databasechangelog':

时出现问题

Error executing SQL SELECT FILENAME,AUTHOR,ID,MD5SUM,DATEEXECUTED,ORDEREXECUTED,EXECTYPE,DESCRIPTION,COMMENTS,TAG,LIQUIBASE,LABELS,CONTEXTS FROM IDENTSERVICE.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC: ORA-00904: "CONTEXTS"

我觉得 table 中有两个新列:LABELS 和 CONTEXTS Lquibase 网站称它只是一个替代品。

所以我的问题是:我是否需要升级到 3.0.0 版,或者如何获得新列?手动操作不是一种选择。

检查 ´StandardChangeLogHistoryService´ class。

搜索 hasContexts 例如有代码检查这些列是否存在。 因此,如果列 CONTEXTS 的测试失败,则日志行应显示:

"Adding missing databasechangelog.contexts column"

你可以查看你的日志。

所以,是的,它应该是一个直接替代品。

解决方案不是 运行 状态命令,而是运行良好的更新命令。 请注意,您无法返回旧版本的 Liquibase。旧版本显示校验和错误。