下面是变更集。/src/main/resources/db/changelog
<changeSet author="Krishna" id="insert-3">
<insert tableName="blob_test">
<column name="name" value="Name3" />
<column name="formData" type="longblob" valueBlobFile="../../../db/changelog/dc_form_definition_202304051700.csv-1.data.txt"/>
</insert>
</changeSet>
遇到如下异常,认为文件存在于资源目录中
原因:liquibase.exception.DatabaseException: BLOB resource not found: ../../db/changelog/dc_form_definition_202304051700.csv-1.data.txt
调试Liquibase代码后发现问题
我已经配置了application.property查看spring.liquibase.change-log=classpath:db/changelog/changelog-master.xml.
Liquibase形成如下的资源路径。
Basepath源自spring. liquidbase。"更改日志"(用于春季启动)。根据我的配置,'db/changelog'是基本路径,然后将其与valueBlobFile的配置值连接起来。所以进程查找资源为'db/changelog/../../db/changelog/dc_form_definition_202304051700.csv-1.data.txt
我已经更正了数据文件路径,工作正常。
这是我用来加载文件数据到bytea列。