我使用liquibase diff生成dev mysql和prod mysql之间的diff,我看到有一些更改集,如下所示:
当我运行diff文件时,它显示如下异常: mysql不支持setColumnRemarks,mysql不支持db/changelog/V1.1.0_prod_uat.xml::1524893614482-985::davy (生成) setColumnRemarks,mysql不支持db/changelog/V1.1.0_prod_uat.xml::1524893614482-986::davy (生成)。
at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:276)
at liquibase.Liquibase.update(Liquibase.java:198)
at liquibase.Liquibase.update(Liquibase.java:179)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:317)
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:269)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706)如何解决这个问题?
发布于 2019-05-09 00:28:37
某些数据库(包括MySQL )不支持对象的注释更新(Liquibase的set*Remarks)。因此,直接解决方法可能是将此操作从更改日志中删除。
在我的项目中,我们通过比较(与liquibase diffChangeLog) 2个模式来生成变更集,并且包含了setColumnRemarks操作,尽管它们不能在之后执行。因此,我只是将这些操作从结果更改集中删除。
我担心一个合适的解决方案是在Liquibase中添加适当的MySQL SQL生成器实现。
https://stackoverflow.com/questions/50078329
复制相似问题