如何在db / migration文件夹中设置CSV文件?

时间:2017-01-24 09:31:04

标签: postgresql spring-boot data-migration

在通常的迁移中,我使用SQL通常的COPY CSV命令,但现在所有的SpringBoot项目都必须进入git和通用的克隆路径(并在受保护的服务器中执行):

  • main/resources/db/migration使用的CSV文件的最佳位置或“标准Spring文件夹”?

  • 如何将COPY(SQL)与相对路径一起使用?

shell的相对路径是:

psql -h localhost -U postgres gcp -c    "\
  CREATE TABLE question_import (question text, weight integer); \
  COPY question_import FROM STDIN WITH CSV HEADER delimiter as ',' \
"    < _docs/data/csc-questoes.csv

但PostgreSQL不支持内部相对路径

1 个答案:

答案 0 :(得分:1)

一旦您使用SpringBoot,为什么不加入Liquibase的好处(第75.5.2节)?

除了能够定义/版本化数据库模式之外,还有加载数据的方法,例如:在你的情况下CSV:

<changeSet author="liquibase-docs" id="loadUpdateData-example">
<loadUpdateData catalogName="cat"
        encoding="UTF-8"
        file="com/example/users.csv"
        primaryKey="pk_id"
        quotchar="A String"
        schemaName="public"
        separator="A String"
        tableName="person">
    <column name="address" type="varchar(255)"/>
</loadUpdateData>

Spring-Boot-Liquibase Sample项目应该为您提供快速入门。