レコードを複数行削除する方法はありますが、
そのアプリにあるレコードすべてを削除する方法はありますか?
APIではアプリの全レコードを一括で消すことが残念ながらできません。
数千、数万件規模のレコードをAPIで即時処理で消そうとすると負荷がかかってしまうのが理由だと思われます。
アプリからも一括削除は即時処理ではなくバッチ処理になっているのも
そういった理由かなと。
ですので現状は100件をループで回して削除する方法になります。
ただ、即時処理ではなく一括削除処理のバッチを命令するAPIはあってもいいかもしれませんね。
はじめまして、豊田様
cstapの落合です。
非常に残念ですが、現在REST APIで一括削除を行うためのAPIは用意されておりません。
私は、100件ずつ地道に削除していく方法で一括削除を行っております。。。
落合様、Shinomiya様 さっそくのご回答ありがとうございました。
やはり全レコードの一括削除は今のところ行えないのですね。
100件ずつ削除を繰り返す処理しかできないとのことで、
現行もそのように行っているのですがレコード数が多く時間がかかるので、
一括削除できないか質問致しました。
developer networkは今回初参加です。今後もよろしくお願いします。
APIではありませんし、こちらはチェック頂いているかもしれませんが、レコードの一括削除が目的であれば、設定の「高度な設定」の「レコード一括削除を有効にする」を有効にされた後に、一覧画面等の歯車から「レコード一括削除」を選択するという方法もあります。
https://help.cybozu.com/ja/k/user/delete_bulk.html
削除もパラレルにAPIを叩いたり、一旦上記処理を実行しながらもなかなか反映されず・・・じれったくて何度も同じ命令を下そうとすると排他がかかり「不正なリクエスト?・・・」というようなメッセージが出てきていましたので、Shinomiyaさんや落合さんが仰っているAPI100件削除をシリーズに叩くか一括削除後は反映を大人しくお待ち頂くのが良いかと思います。反映時間はやはりデータ量に依存するところだと思われます。
ばっさり削除するだけが目的なら、アプリを作り直してしまうことはあります。
(必要なデータがあればCSVでエクスポートしておき、「ほかのアプリを再利用」でアプリのコピーを作って削除)
JavaScript のカスタマイズを入れていたり、他のアプリから参照されていると使いにくい手段なので、その場合は山下さんご提案の一括削除で対応しています。