質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Salesforce

Salesforceは、クラウド型の顧客関係管理(CRM)、営業支援(SFA)などのサービスを提供している企業。米カリフォルニア州に本社があり、日本法人は株式会社セールスフォース・ドットコムです。

Q&A

解決済

1回答

1323閲覧

セールスフォースで本番組織とサンドボックスとの連携について

babbleman

総合スコア107

Salesforce

Salesforceは、クラウド型の顧客関係管理(CRM)、営業支援(SFA)などのサービスを提供している企業。米カリフォルニア州に本社があり、日本法人は株式会社セールスフォース・ドットコムです。

0グッド

0クリップ

投稿2021/05/10 07:03

セールスフォースでサンドボックス環境を本番環境へリリースする際には変更セットが必要と書かれてあったのですが、
本番環境へリリース後、例えばカスタムオブジェクトにフィールドを追加したいとなった場合に、その差分のみ更新させることはできるのでしょうか?
また、既に入れられているレコードをリセットすることなくアップデートすることは出来るのでしょうか?
調べてみたところ一度変更セットをリリースしたらその変更セットは削除・編集ができないと書かれていました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

例えばカスタムオブジェクトにフィールドを追加したいとなった場合に、その差分のみ更新させることはできるのでしょうか?

変更セットを作成する時に追加したカスタム項目のみを追加することが可能ですので、差分更新できるといえばできます。ただし、追加した項目に関連するメタデータ(数式、トリガーなど)も変更セットに含めないとエラーになりますのでご注意ください。

既に入れられているレコードをリセットすることなく

調べてみたところ一度変更セットをリリースしたらその変更セットは削除・編集ができないと書かれていました。

すでにあるレコードへの影響はないですが、次のような例では注意が必要です。
例えば、リードに入力必須のカスタム項目「A」を追加したとします。
そうすると既存レコードにもこの「A」項目追加されますが、値が空になります。
この状況で既存レコードを更新するようなトリガーが実行された時にこの「A」が空のままだと入力必須エラーになります。
こうならないために事前値をすべて埋めるか、初期値を定義するなどを対策を行ったほうがよいでしょう。

変更セットをリリースしたあとはロールバックはできないですが、メタデータをバージョン管理システムなどで管理していれば、手元のメタデータをロールバックし、サンドボックスに適用し、再度変更セットを作り、本番に適用することでロールバックは実現可能です。

投稿2021/05/10 13:39

編集2021/05/10 13:44
comefigo

総合スコア1051

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

babbleman

2021/05/11 00:46

回答して頂きまことにありがとうございます。 実は現在サンドボックス環境のみの権限だけ付与されており、本番環境へのリリースがまだて来ていない状態となっています。 なので、最初のリリースのテストもまだしていない状態となっているのですが、 >追加した項目に関連するメタデータ(数式、トリガーなど)も変更セットに含めないとエラーになりますのでご注意ください。 こちらについてですが、現状ですと作成したカスタムオブジェクトを全て(主従関係にあるものも全て含めて)変更セットに含めているのですが、これでエラーは起きないでしょうか? また、差分のみの更新をする場合、例えば新しく数式のカスタムフィールドを追加したいとなった場合に、その数式が親オブジェクトを参照しているとすれば、変更セットに親オブジェクトと子オブジェクトを両方含めれば大丈夫でしょうか? また、カスタムフィールドを追加するのはオブジェクト単位の追加をしておけば問題ないでしょうか? 逆にフィールドを削除したいとなった場合には削除された状態のカスタムオブジェクトを追加しておくイメージでしょうか? また、これらはCLIなどを使わず全てセールスフォースの画面上で完結できるものでしょうか? 重ね重ね質問申し訳ございません。 宜しくお願い申し上げます。
babbleman

2021/05/11 00:54 編集

もう一点質問させてください。 >逆にフィールドを削除したいとなった場合には削除された状態のカスタムオブジェクトを追加しておくイメージでしょうか? もしもこの考えが正しいとするならば、カスタムオブジェクトの削除はどのようにして行うのでしょうか? また、既存のオブジェクトに変更を加えるという場合には、変更セットにそのカスタムオブジェクトを加えることでそれが上書きされるイメージでしょうか?
comefigo

2021/05/11 02:33

> なので、最初のリリースのテストもまだしていない状態となっているのですが、 事前にSandbox環境でテストされる認識でよいですか? Sandbox環境で開発している間に本番環境と差分が生じる場合は、Sandboxに再度本番から最新情報を取得することをおすすめします。 > こちらについてですが、現状ですと作成したカスタムオブジェクトを全て(主従関係にあるものも全て含めて)変更セットに含めているのですが、これでエラーは起きないでしょうか? Sandboxと本番環境の差異がない前提であればおそらくエラーにはならないと思います。 > 差分のみの更新をする場合、例えば新しく数式のカスタムフィールドを追加したいとなった場合に、その数式が親オブジェクトを参照しているとすれば、変更セットに親オブジェクトと子オブジェクトを両方含めれば大丈夫でしょうか? それで問題ないですね。 > カスタムフィールドを追加するのはオブジェクト単位の追加をしておけば問題ないでしょうか? 逆にフィールドを削除したいとなった場合には削除された状態のカスタムオブジェクトを追加しておくイメージでしょうか? 追加時はオブジェクトと項目のどちらも追加しなければならなりません。 削除時は変更セットで出来なかったような気がするので、要確認ですね。 私は本番環境で直接削除していました。
babbleman

2021/05/11 04:14

丁寧にお答えいただき誠にありがとうございます! 凄く助かりました。 ベストアンサーにさせて頂きます。
comefigo

2021/05/11 07:44

無事解決されてよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問