2017-01-24 11 views
0

私はSQLいつもCOPY CSVコマンドを使用していますが、今すべてのSpringBootプロジェクトをクローンについてgitと一般的なパスになければなりません(および保護されたサーバーでそれを行う):db/migrationフォルダにCSVファイルを設定する方法は?通常の移行で

  • 最高の場所または "標準のSpringフォルダ"をmain/resources/db/migrationが使用するCSVファイルに変換しますか?

  • の相対パスを使用してCOPY(SQL)を使用する方法


シェルによる相対パスは:

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は内部相対パスをサポートしていません。

+0

いずれにしてもpsqlを使用しますか?または別のクライアント? –

+0

@TommasoDiBucchianico Hum ... "db/migration'のみを使用するのが理想的です。他のサーバーサイドのイントールとは独立しています –

答えて

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プロジェクトはあなたのクイックスタートを与える必要があります。

関連する問題