新規投稿
フォローする

インポート時$idが連番ではない場合の対処方法

お世話になります。
csvインポートに関して質問です。


アプリID110番のデータを以下のコマンドでバックアップしたとします。

cli-kintone -a 110 -d mydomain -t ****** -b attached -e sjis > 110.csv


バックアップをリストアするために、以下のコマンドを叩きました。

cli-kintone -a 110 -d mydomain -t ****** -D -b attached -f 110.csv


この場合、以下のようなエラーが表示され、インポートが出来ませんでした。

Status: 404 Not Found
Message: 指定したレコード(id: 1536, 1537, 1538)が見つかりません。
Errors detail: (none)

csvを開いてみると、上記IDを持つレコードは存在しません。

csvをインポートする場合、$idフィールドは必ず連番でないと出来ないということなんでしょうか。

それではどうぞ、よろしくお願いいたします。

0

2件のコメント

Avatar
江田篤史

Seiji Ogawa様

お世話になっております。
cstapの江田と申します。

csv側に無い$idについてエラーが発生するという話とは合わないのですが、自分の環境で調べたことを書きます。

csv側で$idを指定してインポートした場合は、レコードの更新が行われます。
$idを指定しながらレコードの新規登録を行うことはできないようです。
kintoneのアプリ側に存在しない$idをcsv側で指定すると「指定したレコード(id: ・・・)が見つかりません。」というエラーが発生します。

そのため、インポート時の-Dオプションをやめるか、-Dオプション付きでインポートするのであれば$idを空にしたcsvデータにする必要があります。

また、-Dオプションでレコードを削除した場合、$idは削除前の続きから増えていくことになります。
$idで何かと紐づけるシステムを作っていた場合は、-Dオプションを用いる方法は望ましくないかもしれません。

更新は一部のレコードについてのみ行うこともできるようなので、csv側で$idを連番にそろえる必要はないかと思います。

0
Avatar
Seiji Ogawa

江田篤史さま

コメントありがとうございます。

「-Dオプション付きでインポートするのであれば$idを空にした」

↑なるほどそういうことなのですね。そして$idは削除しても続きからということで、いわゆるよくあるRDBMSのIDと同じ動きということでしょうか。

頂いたヒントを元に、もう少し調査して見ます。

どうもありがとうございました。

0
サインインしてコメントを残してください。