新規カスタムオブジェクトを含む変更セットの検証でエラー

Salesforce

久々に新規オブジェクトを作成して、変更セットで他のsandboxに送ってみました。

変更セットの検証で以下のようなエラーが発生したのですが、無事に解決したので共有します。

Cannot set sharingModel to ControlledByParent on a CustomObject without a MasterDetail relationship field

このエラーは主従関係の項目が含まれる場合に発生するようです。

このエラーを回避するには、主従関係項目を(それが変更されていない場合でも)リリースへ追加します。それにより、このエラーは発生しなくなります。
そのカスタムオブジェクトのカスタム項目は変更セットにも追加されます。

Cannot set sharingModel to ControlledByParent on a CustomObject without a MasterDetail relationship field

なんか、ヘルプの文章だけだといまいち理解しづらいのですが、主従関係の項目を持つカスタムオブジェクトをリリースするときは、(変更の有無に関わらず)必ず同じ変更セットに主従関係の項目を入れてね、ということみたいです。

これを理解するまでに少し時間が掛かりました。その間も調べていると公式ヘルプで変更セットのベストプラクティスを見つけました。

変更セットのベストプラクティス
https://help.salesforce.com/s/articleView?id=sf.changesets_best_practices.htm&type=5

勘違いしていましたが、変更セットにカスタムオブジェクトを追加するだけだと空のオブジェクトしか作成できないみたいです。

変更セットの「カスタム項目」から作成した項目を全て追加します。

今回のエラーは上記の勘違いから、カスタム項目を追加しておらず、その中にあった主従関係の項目が入っていないことにより発生していました。

作成したカスタム項目を全て追加して再度検証すると無事に成功しました。