同じ環境の中であればアプリをコピーすることができるが、kintoneのアプリをデータごと他のサブドメインのkintoneにコピーするならちょっと手間がかかる。今回は、kintoneのデータを添付ファイルごとエクスポート/インポートする方法を紹介しよう。
アプリそのものの移行
アプリそのものを移行するには、テンプレートにすればいい。「kintoneシステム管理」画面から「アプリ」→「アプリテンプレート」を開き、「作成」をクリック。移行したいアプリを選択し、「次へ」をクリックすると、テンプレートを書き出せる。
移行先のkintoneでアプリを作成する際、「テンプレートファイルを読み込んで作成」を選び、書き出したテンプレートをZIPファイルのまま読み込ませればいい。
添付ファイルごとアプリデータをエクスポート/インポート
アプリのテキストデータだけであれば、ファイルの書き出し/読み込みでいいのだが、添付ファイルの移動はできない。添付ファイルごとアプリデータをエクスポート/インポートするなら、kintoneコマンドラインツール「cli-kintone」を利用する。
その際に、移行元と移行先のアプリのAPIトークンが必要になるので、生成しておこう。アプリの「設定」から「APIトークン」を開き、「生成する」をクリック。移行元のkintoneは「レコード閲覧」、移行先は「レコード追加」のアクセス権限が必要になるのでチェックを入れておく。
cli-kintoneの実行ファイルはGitHubからダウンロードできる。WindowsとMac、Linux用のファイルが用意されおり、Windows用なら「cli-kintone_v1.10.7_win.zip」をダウンロードする。ダウンロードしたファイルは解凍し、実行ファイルをどこかのフォルダに保存しておく。
移行元のkintoneからアプリデータをエクスポートしてみよう。テキストデータは「records.csv」というCSVファイルに保存し、添付ファイルは「attachments」フォルダの中に作成したレコード番号ごとのフォルダの中にダウンロードしてみた。
コマンドプロンプトを開き、「cd」コマンドでcli-kintoneの実行ファイルを保存したフォルダに移動。コマンドは「cli-kintone.exe record export」の後に、移行元のkintoneのサブドメインやアプリID、APIトークンを入力。添付ファイルを保存するフォルダのパスを指定する。「cli-kintone.exe」と同じ場所にある「attachments」フォルダーであれば、「./attachments」と入力すればいい。
■コマンド
cli-kintone.exe record export --base-url https://サブドメイン.cybozu.com --app アプリID ^
--api-token APIトークン ^
--attachments-dir 添付ファイルを出力するフォルダ > records.csv
これで、すべてのレコードがエクスポートできるのだが、このままだと移行先のkintoneで色々とエラーになる。「レコード番号」や先方に存在しない「作成者」といった情報は不要なので、エクスポートするフィールド名を「--fields」オプションで指定しておこう。必要なフィールド名を「--fields "公開ステータス,商品名,詳細,添付ファイル"」のように並べればいい。
続けて、インポートを行う。コマンドは「cli-kintone.exe record import」の後に、移行先のkintoneのサブドメインやアプリID、APIトークンを入力。添付ファイルを保存したフォルダのパスを指定する。
■コマンド
cli-kintone.exe record import --base-url https://サブドメイン.cybozu.com --app アプリID ^
--api-token APIトークン ^
--file-path ./records.csv ^
--attachments-dir ./attachments
コマンドプロンプトを使うとなると気が引けてしまうが、プログラムの知識は不要。オプションを正確に入力すれば問題なく利用できるはず。とは言え、確認不足でエラーが出ることもある。その場合は、エラーメッセージを見て、原因をつぶしていこう。
参考までに、ミスしやすいポイント紹介しておくと、まず、APIトークンのアクセス権をきちんと設定すること。移行先も「レコード閲覧」だけだと書き込めないので注意。また、API設定を変更したらアプリを更新するのを忘れずに。
次に、全件エクスポートしてしまい、レコード番号や担当者、更新者を追加できない、とエラーになった場合。これは紹介したようにあらかじめ必要なフィールドのみエクスポートすればいい。
約700件のデータだったが、ほぼ待ち時間なくエクスポート・インポートできる。簡単に外部のkintoneにアプリを添付ファイルごと移行できるのはありがたい。万一に備えて、こんなことができるということは覚えておこう。
この連載の記事
-
第116回
デジタル
kintoneに生成AIのパワーを!カスタマインのChatGPT連携を試してみた -
第115回
デジタル
ChatGPTをkintoneで使える連携プラグイン「Smart at AI for kintone Powered by GPT」を試してみる -
第113回
デジタル
幕張メッセで「サイボウズデイズ2023」開催! 注目ブースを突撃取材 -
第112回
デジタル
Zoomの録音をkintoneに登録し、ChatGPTに議事録を生成させる連携にチャレンジ -
第111回
デジタル
kintone×kViewerで飲食店の会員向けページを構築してみた -
第110回
デジタル
kintoneのライトコースで全銀データを作成する方法を聞いてみた -
第109回
デジタル
kintone仲間と出会える! 楽しく学べるkintoneコミュニティの歩き方 -
第108回
デジタル
超絶苦手な請求書作成と発送・送信業務をkintoneで半自動処理させてみた -
第107回
デジタル
krewDataで売上管理のCSVからデータを取り込み店舗ごとの予実管理を自動集計する -
第106回
デジタル
IoTエッジデバイス「Gravio」で取得したCO2濃度をkintoneに記録する - この連載の一覧へ