缺少专栏' CONTEXTS' Liquibase从2.0.4迁移到3.4.0版之后

时间:2015-06-30 09:43:35

标签: liquibase

我尝试将Liquibase从旧版本2.0.5迁移到3.4.0。我尝试的第一件事是status命令,导致读表的问题' databasechangelog':

  

执行SQL SELECT时出错   FILENAME,AUTHOR,ID,MD5SUM,DATEEXECUTED,ORDEREXECUTED,EXECTYPE,说明,评论,TAG,LIQUIBASE,标签,CONTEXTS   来自IDENTSERVICE.DATABASECHANGELOG订购的DATEEXECUTED ASC,   ORDEREXECUTED ASC:ORA-00904:"上下文"

我似乎是表中的两个新列:LABELS和CONTEXTS Lquibase网站告诉它只是替代品。

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

2 个答案:

答案 0 :(得分:2)

结帐´StandardChangeLogHistoryService´课程。

搜索hasContexts,例如有代码检查那些列是否存在。 因此,如果列CONTEXTS的测试失败,则应该有一个日志行,上面写着:

"Adding missing databasechangelog.contexts column"

您可以检查一下这个。

所以,是的,它应该是替代品。

答案 1 :(得分:1)

解决方案不是运行status命令,而是运行良好的更新命令。 小心,你不能回到旧版的Liquibase。旧版本会导致校验和错误。