Files
upstream-twenty/packages/twenty-docs/l/ja/user-guide/data-migration/how-tos/migrating-from-self-hosted-to-cloud.mdx
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

174 lines
8.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: セルフホストからクラウドへの移行
description: Twenty のセルフホストのインスタンスを Twenty Cloud に移行するためのステップバイステップガイド。
---
## 概要
このガイドでは、Twenty のセルフホストのインスタンスから Twenty Cloud へデータを移行する手順を説明します。 クラウドのワークスペースをセットアップし、データをエクスポートしてから再インポートする流れです。
<Note>移行後、ビュー、ワークフロー、役割は手動で再作成する必要があります。 この構成作業のための時間を確保してください。</Note>
## ステップ 1: クラウドワークスペースを作成する
1. [app.twenty.com](https://app.twenty.com) にアクセスし、新しいワークスペースを作成します
2. 初期セットアップウィザードを完了します
3. 新しいワークスペースの URL を控えておきます
## ステップ 2: データモデルを再作成する
データをインポートする前に、カスタムオブジェクトとフィールドを再作成してください:
1. クラウドのインスタンスで **設定 → データモデル** に移動します
2. セルフホスト環境の設定に一致するカスタムオブジェクトを作成します
3. 標準オブジェクトおよびカスタムオブジェクトにカスタムフィールドを追加します
4. フィールドの設定(一意、必須など)を行います
<Note>参照用にセルフホスト環境のデータモデルのスクリーンショットを撮るか、両方のインスタンスを並べて開いたままにしておきましょう。</Note>
## ステップ 3: すべてのユーザーを招待する
<Warning>
**重要: データをインポートする前にユーザーを招待してください。**
ユーザーを参照するレコード(例: Account Owner フィールド)をインポートする前に、ユーザーは招待を受諾している必要があります。 ユーザーがまだ存在しない場合、それらのリレーションはマッピングできません。
</Warning>
1. クラウドのインスタンスで **設定 → メンバー** に移動します
2. セルフホストでアカウントを持っていたチームメンバー全員を招待します
3. **全員が招待を受諾するのを待ちます**
4. メンバー一覧にすべてのユーザーが表示されていることを確認します
## ステップ 4: セルフホストからデータをエクスポートする
セルフホストのインスタンスから各オブジェクトをエクスポートします:
1. 各オブジェクト(会社、連絡先、商談など)に移動します
2. 移行したい**すべての列**が表示されるようにビューを設定します
3. **⋮ → Export view** をクリックします
4. 各 CSV ファイルをわかりやすい名前で保存します(例: `companies-export.csv`)
インポート時の参照のため、**この順序でエクスポート**してください:
1. 会社
2. 人物
3. 商談
4. カスタムオブジェクト(依存関係に従って)
5. タスク、メモ
## ステップ 5: ワークスペースのメンバー参照を更新する
エクスポートした CSV には、セルフホストのインスタンスのユーザー ID が含まれています。 これらの ID はクラウドのインスタンスと一致しないため、メールアドレスに置き換える必要があります。
**ユーザー参照(Owner、Assignee など)がある各 CSV ファイルについて:**
1. CSV をスプレッドシートアプリで開きます
2. 各ユーザー ID 列の隣に新しい列を追加します(例: `accountOwnerId` の隣に `accountOwnerEmail`)
3. 各ユーザーの**メールアドレス**を入力します
4. 古い ID 列は削除しても残しても構いません(インポート時にスキップされます)
**例:**
以前:
```csv
name,domain,accountOwnerId
Acme Corp,https://acme.com,old-uuid-123
```
以降:
```csv
name,domain,accountOwnerEmail
Acme Corp,https://acme.com,john@yourcompany.com
```
<Note>クラウドのワークスペース招待を受諾した際にユーザーが使用したものと同じメールアドレスを使用してください。</Note>
## ステップ 6: インポート順序を計画する
リレーションを維持するため、正しい順序でファイルをインポートします:
1. 最初に**会社**(依存関係なし)
2. 次に**連絡先**(会社にリンク)
3. 3 番目に**商談**(会社および連絡先にリンク)
4. **カスタムオブジェクト**(依存関係に従って)
5. 最後に**タスクとメモ**(他のレコードにリンク)
リレーションの維持方法の詳細は、[リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) を参照してください。
## ステップ 7: クラウドにインポートする
各 CSV ファイルについて、順番に実行します:
1. クラウドのインスタンスで対象のオブジェクトに移動します
2. **⋮ → Import records** をクリックします
3. CSV ファイルをアップロードします
4. 列をフィールドにマッピングします:
* ユーザーのメールアドレス列を適切なリレーションフィールドにマッピングします
* その他の列は通常どおりマッピングします
5. エラーを確認して修正します
6. インポートを確認します
7. 次のファイルに進む前に、いくつかのレコードを確認します
## ステップ 8: 設定を再作成する
データのインポート後、次の項目を手動で再作成します:
### ビュー
* フィルター、並べ替え、列の構成を含む保存済みビューを再作成します
* カンバンビューやカレンダービューを設定します
### ワークフロー
* **設定 → ワークフロー** で自動化を再作成します
* 運用に入れる前に各ワークフローをテストします
### 役割と権限
* **設定 → メンバー → 役割** で役割を設定します
* ユーザーに適切な役割を割り当てます
### 統合
* 各ユーザーのメールおよびカレンダーの同期を再接続します
* 新しい API キーで各種 API 連携を再設定します
## ポスト移行チェックリスト
<Check>すべてのデータが正常にインポートされている</Check>
<Check>オブジェクト間のリレーションが正しく機能している</Check>
<Check>ユーザーの割り当て(Owner、Assignee)が正しくマッピングされている</Check>
<Check>ビューを再作成済み</Check>
<Check>ワークフローを再作成し、テスト済み</Check>
<Check>役割と権限を構成済み</Check>
<Check>メール/カレンダーの同期を再接続済み</Check>
<Check>API 連携を新しいキーで更新済み</Check>
## FAQ
<AccordionGroup>
<Accordion title="ワークフローを自動的に移行できますか?">
現時点ではできません。 ワークフローはクラウドのインスタンスで手動で再作成する必要があります。
</Accordion>
<Accordion title="ファイルの添付や画像はどうなりますか?">
CSV のエクスポートにはファイルの添付は含まれません。 添付ファイルは手動で再アップロードするか、API で移行するか、大規模な移行については弊社チームにご連絡ください。
</Accordion>
<Accordion title="移行中に両方のインスタンスを稼働させておけますか?">
はい、クラウドへの移行が完了したことを確認するまでは、セルフホストのインスタンスを稼働させておくことを推奨します。 ただし、両方の環境で新しいデータを作成しないようご注意ください。
</Accordion>
<Accordion title="ユーザーがまだ招待を受諾していない場合はどうなりますか?">
そのユーザーを参照するレコードはインポートに失敗するか、リレーションが空になります。 データをインポートする前に、すべてのユーザーが招待を受諾していることを確認してください。
</Accordion>
</AccordionGroup>
## ヘルプが必要ですか?
<Tip>
大規模または複雑なワークスペースを移行しますか? 移行作業を最初から最後まで任せられる、[認定済みの Twenty パートナー](https://twenty.com/partners/list?categories=HOSTING\&ref=docs-migrate-cloud)を利用しましょう。 *(または、私たちのチームを CC してください: [contact@twenty.com](mailto:contact@twenty.com)。)*
</Tip>