商品名が全部「その他」に!?kintoneのバックアップデータをリストアした時に起きた失敗談

公開日:

こんにちは、システム開発グループの浅賀です。

kintoneのデータってバックアップを取っていますか?

「クラウドなのでkintoneが勝手に取ってくれるんじゃないの?」と思われている方も多いかもしれませんが、サイボウズさんがバックアップを取得されているのはインフラの障害時に備えたものなので、ユーザー側で任意のタイミングで利用する事はできません。
kintoneのヘルプにも「cybozu.comにて取得しているバックアップは、障害時に備えたものです。お客様が誤ってデータを削除した際にはご利用いただけません。」との記載があります。

アールスリーがkintoneでシステムを作らせていただく時は、gusuku Deploitのバックアップ機能を利用する事が多いのですが、データをリストアする際に問題が発生した事があったので、その時の知見を共有したいと思います。

なお、gusuku Deploitに限った話しでは無く、kintoneの基本機能でCSV・Excelに書き出してバックアップデータとして使ったり、kintoneコマンドラインツール(cli-kintone)でバックアップしているケースにも該当するお話しです。

🔴 バックアップデータのリストアで発生しがちなトラブル

バックアップデータをリストアする方法としては、

  • kintone基本機能の「ファイルから読み込む」機能を使い、バックアップデータ(CSV、Excel)を読み込む
  • kintoneのREST APIを使ってバックアップデータをレコード登録する(gusuku Deploitやcli-kintoneはこの方法)

が考えられます。

その際、以下のような状態になっているとバックアップデータのリストアに失敗します。(リストア時にエラーが発生します)

  • ルックアップで別のアプリ(顧客マスタや商品マスタ)を関連付けている場合に、ルックアップのキーで使っているフィールド(顧客コードや商品コード)が重複禁止の設定になっていない
  • ユーザー選択フィールドに指定されているユーザーが存在しない

🔴 商品名が「その他」に書き換わってしまった失敗談

前述した問題が発生するケースに注意しながらデータをリストアしたところ無事に完了したように見えたのですが、リストア後のレコードを見ると想定とは違う値になっているレコードがある事に気づきました。

結論としてはカスタマイズが影響していたのですが、気付くのに時間がかかりました・・・。
なお、カスタマイズにはgusuku Customineを使っていましたが、JavaScriptを使った場合でも同様の事は発生し得ます。

アプリの構成は以下のようになっていました。(説明の便宜上、簡素化しています)

 ■ 商品マスタ

  ・商品コードと商品名から構成される(どちらも「文字列(1行)」フィールド)

  ・商品コードは重複禁止の設定になっている

 ■ 見積アプリ

  ・商品を選んで見積を作るアプリ

  ・商品コードをキーに、商品マスタをルックアップし、商品名をコピー。

商品コードは商品単位でユニークな番号を採番していたのですが、ほとんど販売しない(マスタに登録するほどで無い)商品もあります。

そのような時のために 商品コード=999、商品名=その他 というレコードを商品マスタに用意しておき、見積アプリでそのマスタが選択された時は商品名を自由に編集できるようにするカスタマイズをしていました。

・商品コードを選ぶと商品名がコピーされる(kintoneの基本機能としての動き)

・商品コード=999が選ばれた時は商品名が自由に編集できるようになる(カスタマイズ)

このようなアプリに対してバックアップしていたデータをリストアしたところ・・・・

商品コード=999のマスタを使っていたレコードの商品名が全て「その他」になってしまうという事態が発生しました。。。

データをリストアする事でルックアップが再取得されるので当たり前はあるのですが、そこまでの想定ができていませんでした😭

では、どうすれば回避できるのかと言うと、以下の方法が考えられます。(gusuku Deploitでリストアする場合)

  1. 見積アプリのルックアップの設定で、商品名のコピーを解除する(商品名が入力できる状態にする)
  2. データをリストアする
  3. 1で解除した設定を再設定する

データをリストアする際はお気をつけください!

🔴 アールスリーが業務改善・システム開発を支援する「キミノマホロ for kintone」

アールスリーでは業務改善・システム開発を行うサービスを「キミノマホロ for kintone」として提供しています。

「キミノマホロ for kintone」は業務改善のプロセスをイロハで3つのフェーズに分け、フェーズごとに作業をメニュー化しています。

  【イ】業務改善の始まり:業務改善の方向性を決める

  【ロ】業務改善に必要なkintoneアプリ作成:業務改善を実現するための仕組み(kintoneアプリ)を作る

  【ハ】業務改善の実行サポート:業務改善を進める

今回の記事にあったトラブルも含め、たくさんの経験を積んだメンバーがノウハウを活かして対応させていただきます。

また、システム開発グループではkintoneに関するお悩み相談をお受けする「kintone駆け込み相談室」を随時開催しています。kintoneのシステム開発でお悩みの方がいらっしゃいましたらぜひお申し込みください!

必要なものを、必要なだけ。
業務改善の新しいカタチ

kintoneを活用した業務改善・システム開発サービス

kintoneを活用した業務改善・システム開発サービス

投稿者プロフィール

アバター画像
あさが
kintoneを活用したシステム開発(だけ)をやってます。kintone認定資格5冠。