繁体   English   中英

Liquibase loadData 不使用我的负载我的 CSV 但不是错误

[英]Liquibase loadData doesn't use my load my CSV but not error

我正在尝试使用 liquibase 从 CSV 加载数据,我的问题是脚本运行并且没有错误,但我的表中没有数据,这是我的配置

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                      http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
    <changeSet id="1" author="dev">
        <createTable tableName="products">
            <column name="code" type="varchar(3)">
                <constraints primaryKey="true"/>
            </column>
            <column name="name" type="text"/>
        </createTable>
    </changeSet>
    <changeSet id="2" author="dev">
        <loadData tableName="products"
                  file="data_products.csv"
                  separator=";"
                  relativeToChangelogFile="true"/>
    </changeSet>
</databaseChangeLog>

在我的文件 data_products.csv 我有这样的事情

code;name
000;product1
001;product2

这是我运行项目时的控制台日志:

2021-01-15 11:21:18.986  INFO 9540 --- [main] liquibase.changelog: Creating database history table with name: public.databasechangelog
2021-01-15 11:21:18.993  INFO 9540 --- [main] liquibase.changelog: Reading from public.databasechangelog
2021-01-15 11:21:19.047  INFO 9540 --- [main] liquibase.changelog: Table products created
2021-01-15 11:21:19.048  INFO 9540 --- [main] liquibase.changelog: ChangeSet liquibase/sql/1.0.0/init_db.xml::1::dev ran successfully in 8ms
2021-01-15 11:21:19.156  INFO 9540 --- [main] liquibase.changelog: Data loaded from data_products.csv into products
2021-01-15 11:21:19.156  INFO 9540 --- [main] liquibase.changelog: ChangeSet liquibase/sql/1.0.0/init_db.xml::2::dev ran successfully in 104ms
2021-01-15 11:21:19.160  INFO 9540 --- [main] liquibase.lockservice: Successfully released change log lock

我不知道我的配置有什么问题,因为日志说数据已加载,但是当我在表中执行 select 时,里面什么都没有

我确实找到了解决方案,问题在于列名中的类型,

如果您将文本用于具有 liquibase 的类型,它将在数据库中作为 CLOB 执行,然后它不会加载数据,

我刚变

        <column name="name" type="text"/>

        <column name="name" type="varchar"/>

没有尺寸,它工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM