我尝试将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版本,或者如何获得新列?手动操作不是一种选择。
答案 0 :(得分:2)
结帐´StandardChangeLogHistoryService´课程。
搜索hasContexts
,例如有代码检查那些列是否存在。
因此,如果列CONTEXTS
的测试失败,则应该有一个日志行,上面写着:
"Adding missing databasechangelog.contexts column"
。
您可以检查一下这个。
所以,是的,它应该是替代品。
答案 1 :(得分:1)
解决方案不是运行status命令,而是运行良好的更新命令。 小心,你不能回到旧版的Liquibase。旧版本会导致校验和错误。