カスタムメタデータ型とカスタム設定の違いとはなんでしょうか?
似た特徴を持ちますが、それぞれの特徴を見ていくと得意なものが見えてくるはずです。
今回はカスタムメタデータ型とカスタム設定の違いについて解説します。
目次
カスタムメタデータ型の特徴
カスタムメタデータ型の特徴
- カスタムオブジェクトのようにレコードを作成することができる
- 通貨型のカスタム項目は作成できない
- メタデータとして扱われるため、変更セットを使用して別の組織にリリースできる
- 設定からレコードの作成・編集・削除を行うため開発者や管理者に限られる
(メタデータAPIを使用してApexから更新する場合でも、設定を開くことができる権限が必要) - ページレイアウトや入力規則を設定できる
- オブジェクト同様にSOQLで取得できる
- テストメソッドからseeAllDataなしで参照できるため、テストデータの作成が不要
カスタムメタデータ型が適しているもの
開発者や管理者がデータを管理し、他の環境にデプロイしたい場合に向いています。
Salesforce公式HELP:
Custom Metadata Types
Custom Metadata Types Limitations
カスタム設定の特徴
カスタム設定の特徴
- カスタムオブジェクトの一種で、組織のカスタムオブジェクト総数にカスタム設定も含まれる
- ロングテキストエリア型と選択リスト型のカスタム項目が作成できない
- データ自体はリリースできない、定義部分は変更セットでリリースできる
- アプリケーションキャッシュを活用したデータへのアクセス
(SOQLクエリを使用してデータアクセスした場合はアプリケーションキャッシュは活用されません) - 数式項目、入力規則、フロー、Apex、SOAP API で使用できる
(数式項目は階層種別のカスタム設定で使用でき、リスト種別では参照できません) - 組織全体、プロファイル、ユーザーごとに異なるデータを持たせることができる
(階層種別を選択した場合)
カスタム設定に適しているもの
ユーザーやプロファイルごとに異なる設定を動的に参照・更新する必要がある場合に便利です。
Salesforce公式HELP:
Create Custom Settings
Custom Settings Limits and Considerations
まとめ
カスタムメタデータ型とカスタム設定の違いについて解説しました。
どちらも要件を満たす場合はカスタムメタデータ型を使用するとよいでしょう。