案件でルックアップされている会社マスタを削除しない方法

一般的なリレーショナルデータベースですと、テーブル間で親子関係がある場合はデータ整合性を保つため、親レコードを削除した場合、エラーになります(外部参照制約)。kintoneではこの外部参照制約がないため、会社マスタのデータ整理の際レコードは自由に削除が可能です。そのため、もし削除されたレコードをルックアップしている案件から会社マスタへのルックアップのリンクを開いたときに、「レコードが存在しません」というエラーが発生し不都合が生じます。今回はリレーショナルデータベースで言う外部参照制約と同等の機能を実現するプラグインをご紹介いたします。
利用するプラグイン
- BBI 削除検証プラグイン ※1
※1 BBIプラグインは、弊社でkintoneのご購入または運用支援サービスをご契約いただくとご利用いただけるプラグインです。
案件管理アプリのAPIトークンの発行
案件管理で参照を許可しているAPIトークンを発行します。

会社マスタでプラグインの設定
- 本アプリのフィールドコード:検索条件とするフィールドコード。レコード番号にしたい場合は$idとしてください。今回は会社マスタ。
- 対象アプリID:削除前の存在有無を検証するアプリID。今回は案件管理アプリ。
- 対象アプリのフィールドコード:対象アプリ側の検索条件とするフィールドコード。
- 対象アプリのAPIトークン:対象アプリの参照許可をもったAPIトークン

動作確認
下記のように、関連する案件が存在している状態で削除を行うとエラーが表示されることがわかります。
