> For the complete documentation index, see [llms.txt](https://docs.flosum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flosum.com/data-migrator/data-migrator-ja/l-li/worrubakkusuru.md).

# 移行をロールバックする

## ![](https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FcfMTqg4Brbm9baWutclZ%2FSummary2-Small-Icon.svg?alt=media\&token=d1cf162d-c02d-4184-988e-7f7350e450fc) 概要

この記事では、データ移行のロールバックの仕組みと、その実行方法を説明します。ロールバックでは、組織の移行済みレコードが移行前の値に戻ります。更新されたレコードは以前の値に復元され、挿入されたレコードは削除されます。

### **ロールバックの仕組み**

ロールバックは、移行済みレコードを移行前の状態に戻します。データの整合性を保つため、ロールバックでは移行テンプレートで定義されたすべてのオブジェクト、レコード、フィールドが元に戻されます。

Data Migrator は、レコードの移行に UPDATE と INSERT の 2 つのコマンドを使用します。ロールバック時の各コマンドの処理は異なります。

**UPDATE**

UPDATE コマンドは、レコードマッピングによってソース組織とターゲット組織の間で一致したレコードに適用されます。Data Migrator がターゲットレコードに更新を適用する前に、そのレコードのスナップショットを保存します。スナップショットには、移行テンプレートで定義されたフィールドのみが含まれます。ロールバック時には、Data Migrator がそのスナップショットをターゲットレコードに適用し、移行されたフィールドを移行前の値に戻します。

**INSERT**

INSERT コマンドは、新しいレコードをターゲット組織に移行します。レコードが挿入されると、Data Migrator はその新規レコードの ID を記録します。ロールバック時には、Data Migrator がこの ID を使って挿入されたレコードを特定し、そのレコードは移行前にターゲット組織に存在しなかったため、削除します。

{% hint style="warning" %}

#### **データ損失の可能性**

ロールバックはレコードを移行前の値に復元するため、移行後にレコードに加えられた変更も失われます。これは、移行中に更新または挿入されたレコードに適用されます。
{% endhint %}

#### **ロールバックの利用可能性と制限**

* 現在、ロールバックは無期限で利用できます。将来の Data Migrator の更新で、ロールバックを利用できる期間に上限が追加される可能性があります。上限が導入された場合は、この注記を変更して反映します。
* 特定のオブジェクトを選択して個別にロールバックすることはできません。
* ロールバック機能のリリース前に実行されたデータ移行では、 **ロールバック** ボタンは使用できません。

#### **ロールバックデータの保存方法**

Data Migrator は、レコードをソース組織からターゲット組織へ、単一の転送プロセスで直接移行します。永続化されるのは、移行結果とロールバック用スナップショットのみです。

移行の実行前に、Data Migrator は既存レコードのスナップショットを保存し、移行を元に戻せるようにします。保存されるデータは、使用するコマンドによって異なります。

* **挿入されたレコード:** 保存されるのはレコード ID のみです。ロールバック時には、これらの ID を使って挿入されたレコードを削除します。
* **更新されたレコード:** 各レコードを移行前の状態に復元するために必要なフィールド値のみが保存されます。

#### **暗号化**

ロールバック用スナップショットは、SSE-S3（AWS 管理キー）を使用して保存時に暗号化され、Data Migrator テナント内に保存されます。データは移行中の転送時にも暗号化されます。Data Migrator は現在、BYOK（Bring Your Own Key）には対応していません。

## 移行のロールバック

{% stepper %}
{% step %}

### 移行を選択

1. クリック **履歴** 左側のサイドバーメニューから。
2. をクリック **移行** ロールバックしたい操作。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FqwHkiA9mKpFLbSIAS6vP%2FRollingBackAMigration-S01-01.png?alt=media&amp;token=8d4a07e6-3b4d-4ffc-b42a-4d372b506665" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### ロールバックを開始

1. クリック **ロールバック**.

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FtKrtEm24GmfWvjNk9hQQ%2FRollingBackAMigration-S02-01.png?alt=media&amp;token=3c34cdb2-6618-4693-a270-ee2db2a906fd" alt="" width="563"><figcaption></figcaption></figure></div>
2. 表を確認して、ロールバックされるレコードの合計数、復元される数、削除される数を確認します。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FWlh4DiuXTxoQPezD7kR8%2FRollingBackAMigration-S02-02.png?alt=media&amp;token=78dc71e2-810a-4b01-9cfc-18f2c5fd1521" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
ロールバック時には、各レコードは移行方法に応じて復元または削除されます。

* **復元済み**: 移行前から存在していたレコードは UPDATE 操作で移行されました。これらのレコードは以前の値に復元されます。
* **削除済み**: 移行中に追加されたレコードは INSERT 操作で移行されました。これらのレコードは、移行前には存在しなかったため削除されます。
  {% endhint %}
  {% endstep %}

{% step %}

### （任意）自動化を無効化

ロールバックを実行する際、Salesforce の自動化プロセスは既定で有効のままです。ロールバック中にこれらのプロセスが起動しないようにするには、オブジェクト単位で個別に無効化できます。1 つのオブジェクトの自動化を無効化しても、そのオブジェクトにのみ影響します。

下記の各プロセスは、テンプレート内の各オブジェクトごとに個別に無効化されます。

* **トリガ**
* **ワークフロー**
* **フロー**
* **検証ルール**
* **参照フィルター**

自動化プロセスはロールバック中のみ無効化され、ロールバック完了後に復元されます。

{% hint style="warning" %}
自動化は、選択したオブジェクトに対してのみ無効化されます。テンプレート内の他のオブジェクトでは引き続き有効です。影響を与えたい各オブジェクトで自動化を無効化してください。
{% endhint %}

1. オブジェクトの Salesforce 自動化を無効化するには、 **自動化**.

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FWJrLVXDkSJo5MSh4qJyI%2FRollingBackAMigration-S03-01.png?alt=media&amp;token=a71ee296-ffb0-4dd5-bdcb-57938ab98231" alt="" width="563"><figcaption></figcaption></figure></div>
2. 無効化したい自動化にチェックを入れます。
3. クリック **保存**.

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FRAvBwYkj0W729Neqn6N4%2FRollingBackAMigration-S03-02.png?alt=media&amp;token=cc8d49f7-11ae-4468-8f5c-166f10ce1133" alt="" width="375"><figcaption></figcaption></figure></div>
4. オブジェクトで自動化が無効化されると、 **自動化** ボタンには赤い点が表示されます。
5. 自動化を無効化するすべてのオブジェクトに対して、これを繰り返します。
   {% endstep %}

{% step %}

### ロールバックを実行

1. クリック **実行** ロールバックジョブを開始します。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2Fo65HG6F5z8ts3ElD5Zr0%2FRollingBackAMigration-S04-01.png?alt=media&amp;token=d3adeee6-cc05-4540-a296-028d6aae46fe" alt="" width="563"><figcaption></figcaption></figure></div>
2. ロールバックジョブを開始すると、 **履歴** ページに表示されます。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FZtyNkDZHXRVSFa5r4YEW%2FRollingBackAMigration-S04-02.png?alt=media&amp;token=b5e36dac-1fa5-440a-9910-51a39c4193c8" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### ロールバックの確認

ロールバックが完了したら、結果を確認して、どのレコードが変更されたか、エラーが発生したかどうかを確認できます。ロールバックジョブの結果ページは移行ジョブの結果ページとよく似ているため、以下の手順では概要のみを説明します。

{% hint style="info" %}
詳細は、移行結果の表示方法に関する次の記事を参照してください。

* [移行結果の表示](/data-migrator/data-migrator-ja/l-li/no.md)
  {% endhint %}

1. クリック **履歴** 左側のサイドバーメニューから。
2. をクリック **ロールバック** 確認したい操作。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2Fed3CKhhgswoaoEavb6SL%2FRollingBackAMigration-S05-01.png?alt=media&amp;token=68683c94-f139-46b9-bd25-431cb359c574" alt="" width="563"><figcaption></figcaption></figure></div>
3. いずれかの **失敗したレコード**.
4. テンプレート キャンバス上の各オブジェクトをクリックすると、そのオブジェクトの詳細結果を表示できます。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FcDP0cBauc5rTSNOTt0pL%2FRollingBackAMigration-S05-02.png?alt=media&amp;token=5c6cfebb-14aa-4b6b-b236-587c33fca90e" alt="" width="563"><figcaption></figcaption></figure></div>
5. ロールバックされた各レコードの **操作** 列には、削除されたか復元されたかが表示されます。

   <div align="left"><figure><img src="https://1278659608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvaxzColPOlNbsq4imqpd%2Fuploads%2FTnSO2pvDXXEFYeL6PYrd%2FRollingBackAMigration-S05-03.png?alt=media&amp;token=0b9e118f-84af-48ea-b694-445ec53cc828" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flosum.com/data-migrator/data-migrator-ja/l-li/worrubakkusuru.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
