Liquibase diff在ChangedIndexChangeGenerator.java:72中导致NullpointerException

时间:2015-03-20 14:33:57

标签: mysql liquibase

使用Liquibase 3.2.2我们遇到liquibase diffs机制的问题,用于自动生成changelog以将数据库模式A转换为数据库模式B.

我们尝试在两个mysql数据库上使用Liquibase diff函数。在比较时,Liquibase会抛出NullPointerException。 我们的模式包含表,视图,外键和主键约束。将参考数据库与空数据库进行区分可以正常工作,并创建一个函数changeLog。

我们的旧数据模型中可能导致diff调用期间出现问题的原因是什么?

这里是例外堆栈跟踪:

Caused by: java.lang.NullPointerException
    at liquibase.diff.output.changelog.core.ChangedIndexChangeGenerator.fixChanged(ChangedIndexChangeGenerator.java:72)
    at liquibase.diff.output.changelog.ChangeGeneratorChain.fixChanged(ChangeGeneratorChain.java:118)
    at liquibase.diff.output.changelog.ChangeGeneratorFactory.fixChanged(ChangeGeneratorFactory.java:122)
    at liquibase.diff.output.changelog.DiffToChangeLog.generateChangeSets(DiffToChangeLog.java:167)
    at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:125)
    at liquibase.integration.ant.DiffDatabaseToChangeLogTask.executeWithLiquibaseClassloader(DiffDatabaseToChangeLogTask.java:47)
    at liquibase.integration.ant.BaseLiquibaseTask.execute(BaseLiquibaseTask.java:82)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    ... 10 more

您的意见非常感谢!

亲切的问候,

史蒂芬

0 个答案:

没有答案