首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Liquibase失败而迁移失败了,那么我的csv数据有什么问题呢?原因: java.lang.NullPointerException

如果Liquibase失败而迁移失败了,那么我的csv数据有什么问题呢?原因: java.lang.NullPointerException
EN

Stack Overflow用户
提问于 2019-08-16 11:53:32
回答 3查看 3.1K关注 0票数 2

堆栈跟踪是:

代码语言:javascript
复制
    Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20190425094054_added_entity_Kindergarten.xml::20190425094054-1::jhipster:
mental-app_1            |      Reason: java.lang.NullPointerException
mental-app_1            |   at liquibase.changelog.ChangeSet.execute(ChangeSet.java:637)
mental-app_1            |   at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:53)
mental-app_1            |   at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:83)
mental-app_1            |   at liquibase.Liquibase.update(Liquibase.java:202)
mental-app_1            |   at liquibase.Liquibase.update(Liquibase.java:179)
mental-app_1            |   at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:353)
mental-app_1            |   at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:305)
mental-app_1            |   at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:119)
mental-app_1            |   at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.afterPropertiesSet(AsyncSpringLiquibase.java:104)
mental-app_1            |   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837)
mental-app_1            |   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774)
mental-app_1            |   ... 107 common frames omitted
mental-app_1            | Caused by: java.lang.NullPointerException: null
mental-app_1            |   at liquibase.change.core.LoadDataChange.retrieveMissingColumnLoadTypes(LoadDataChange.java:628)
mental-app_1            |   at liquibase.change.core.LoadDataChange.generateStatements(LoadDataChange.java:283)
mental-app_1            |   at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1209)
mental-app_1            |   at liquibase.changelog.ChangeSet.execute(ChangeSet.java:600)
mental-app_1            |   ... 117 common frames omitted

此设置在变更集中加载数据:

代码语言:javascript
复制
        <loadData
        file="config/liquibase/data/kindergarten.csv"
        separator=";"
        tableName="kindergarten"/>

它的数据是:

代码语言:javascript
复制
1,4,xxx yyy 2  ,7 905 555-70-29,"rose place, 11г",john doe
2,7,103,"555-68-72, 555-68-73","address xxx 5, ",emett brown
3,2,34,555-28-49,"z street, 72",""

我已经将所有空,,更新为,"",,使其具有空字符串,而不是空字符串。

因此,最后一个问题是,如何使清算库调试能够定义数据中的哪一行包含空指针的问题?现在,我必须手动显示prroblematic原始数据。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-16 12:20:55

在您的变更集配置中,值separator设置为;,但是您的CSV文件使用,作为分隔符。更正变更集配置中的值。

票数 2
EN

Stack Overflow用户

发布于 2019-08-21 10:23:47

是的,类似的异常也发生在以下情况:如果loadDataloadData属性指向另一个结构的错误表

票数 2
EN

Stack Overflow用户

发布于 2019-08-16 12:25:40

因此,上述异常是由于缺少csv的标题部分而造成的!我错过了csv的第一行id;district_id;name;phones;address;director

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57524194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档