データのインポート

import_data 管理コマンドによるインポート

import_data 管理コマンドを用いると、export_data 管理コマンドでエクスポートしたファイルからデータを取り込むことができます。 KE2.0 では kompira コンテナ上で import_data 管理コマンドを実行させるために、ホスト上からは以下のように実行してください。

$ docker exec $(docker ps -q -f name=kompira) manage.py import_data [options...] <filename>...

ホスト上にあるエクスポートデータをインポートするには、例えば以下のようにインポート前にホスト側からコピーしてください。

$ docker cp <ファイル名> $(docker ps -q -f name=kompira):/tmp/
$ docker exec $(docker ps -q -f name=kompira) manage.py import_data /tmp/<ファイル名>

ここでは、コンテナ上の /tmp ディレクトリにエクスポートデータをコピーしてから、import_data 管理コマンドでインポートしています。

import_data 管理コマンドのオプション

import_data 管理コマンドには以下のオプションがあります。

オプション説明
--user=USERインポートするデータの所有者を USER (ユーザーIDを指定)に設定します
--directory=ORIGIN-DIRインポート先の起点となるディレクトリを指定します(*1)
--overwrite-mode既存のオブジェクトがある場合に上書きします(*2)
--owner-modeインポートするデータの所有者をエクスポート時の所有者情報に設定します
--update-config-modeConfig型オブジェクトの設定データも上書きします(*3)
--now-updated-mode現在時刻をオブジェクトの更新日時に設定します
-h, --helpヘルプメッセージを表示します
  1. --directory オプションを指定していない場合は / がインポートの起点となります。
  2. --overwrite-mode オプションを指定していない場合、インポートデータに既存のオブジェクトが含まれていてもインポートされずにスキップします。
  3. --update-config-mode オプションを指定するときは、--overwrite-mode オプションも同時に指定する必要があります

import_dir 管理コマンドによるインポート

import_dir 管理コマンドを用いると、export_dir 管理コマンドでエクスポートしたディレクトリ一式からデータを取り込むことができます。 KE2.0 では kompira コンテナ上で import_dir 管理コマンドを実行させるために、ホスト上からは以下のように実行してください。

$ docker exec $(docker ps -q -f name=kompira) manage.py import_dir [options...] <filename>...

ホスト上にあるエクスポートデータをインポートするには、例えば以下のようにインポート前にホスト側からコピーしてください。

$ docker cp <エクスポートしたディレクトリ名> $(docker ps -q -f name=kompira):/tmp/
$ docker exec $(docker ps -q -f name=kompira) manage.py import_dir /tmp/<エクスポートしたディレクトリ名>

ここでは、コンテナ上の /tmp ディレクトリにエクスポートデータをコピーしてから、import_dir 管理コマンドでインポートしています。

import_dir 管理コマンドのオプション

import_dir 管理コマンドには以下のオプションがあります。

オプション説明
--user=USERインポートするデータの所有者を USER (ユーザーIDを指定)に設定します
--directory=ORIGIN-DIRインポート先の起点となるディレクトリを指定します(*1)
--overwrite-mode既存のオブジェクトがある場合に上書きします(*2)
--owner-modeインポートするデータの所有者をエクスポート時の所有者情報に設定します
--update-config-modeConfig型オブジェクトの設定データも上書きします(*3)
--now-updated-mode現在時刻をオブジェクトの更新日時に設定します
--linesep=LINESEP代表フィールドを読み込むときの改行コードを指定します(*4)
-h, --helpヘルプメッセージを表示します
  1. --directory オプションを指定していない場合は / がインポートの起点となります。
  2. --overwrite-mode オプションを指定していない場合、インポートデータに既存のオブジェクトが含まれていてもインポートされずにスキップします。
  3. --update-config-mode オプションを指定するときは、--overwrite-mode オプションも同時に指定する必要があります
  4. LINESEP には os_linesep, lf, crlf, no_change のいずれかを指定できます。os_linesep では OS 標準の改行コードに、lf では \n に、crlf では \r\n に変換します。no_change を指定したときは改行コードを変更しません。デフォルトでは crlf です。

注釈: --linesep は :ref:テキスト形式 <data_export> のファイルにのみ影響します。