> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 从自托管迁移到云

> 分步指南：将您的 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>
  **至关重要：在导入数据之前邀请用户。**

  在您导入任何引用到他们的记录（例如“账户所有者”字段）之前，用户必须先接受邀请。 如果用户尚不存在，则无法映射这些关系。
</Warning>

1. 在您的云端实例中进入 **设置 → 成员**
2. 邀请所有在自托管环境中拥有账户的团队成员
3. **等待所有人接受** 邀请
4. 核实所有用户都出现在您的“成员”列表中

## 步骤 4：从自托管导出数据

从您的自托管实例中导出每个对象：

1. 导航到每个对象（公司、人员、商机等）
2. 将视图配置为显示您希望迁移的**所有列**
3. 点击 **⋮** → **导出视图**
4. 将每个 CSV 文件保存为清晰的名称（例如，`companies-export.csv`）

**按以下顺序导出**（供导入时参考）：

1. 公司
2. 人员
3. 机会
4. 自定义对象（按其依赖关系顺序）
5. 任务、笔记

## 步骤 5：更新工作区成员引用

导出的 CSV 包含来自您自托管实例的用户 ID。 这些 ID 与您的云端实例不匹配，因此需要将其替换为邮箱地址。

**对于每个包含用户引用（所有者、被指派人等）的 CSV 文件：**

1. 在电子表格应用中打开该 CSV
2. 在每个用户 ID 列旁边添加一个新列（例如，在 `accountOwnerId` 旁添加 `accountOwnerEmail`）
3. 填写每位用户的邮箱地址
4. 您可以删除旧的 ID 列或保留它（导入时会被跳过）

**示例:**

之前:

```csv theme={null}
name,domain,accountOwnerId
Acme Corp,https://acme.com,old-uuid-123
```

之后:

```csv theme={null}
name,domain,accountOwnerEmail
Acme Corp,https://acme.com,john@yourcompany.com
```

<Note>请使用用户接受云端工作区邀请时所使用的相同邮箱地址。</Note>

## 步骤 6：规划您的导入顺序

按正确顺序导入文件以保持关系：

1. **公司** 优先（无依赖关系）
2. **人员** 其次（关联到公司）
3. **商机** 第三（关联到公司和人员）
4. **自定义对象**（按其依赖关系）
5. **任务和笔记** 最后（关联到其他记录）

有关维护关系的详细信息，请参见[如何导入关系](/l/zh/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)。

## 步骤 7：导入到云端

针对每个 CSV 文件，按顺序进行：

1. 在云端实例中导航到该对象
2. 点击 **⋮** → **导入记录**
3. 上传 CSV 文件
4. 将列映射到字段：
   * 将用户邮箱列映射到相应的关系字段
   * 按常规方式映射其他列
5. 检查并修复任何错误
6. 确认导入
7. 在继续下一个文件之前，先核对几条记录

## 步骤 8：重新创建配置

导入数据后，请手动重新创建：

### 视图

* 根据筛选、排序和列配置重新创建已保存的视图
* 设置任何看板或日历视图

### 工作流

* 在 **设置 → 工作流** 中重新创建自动化
* 在依赖之前先测试每个工作流

### 角色和权限

* 在 **设置 → 成员 → 角色** 中设置角色
* 将用户分配到合适的角色

### 集成

* 为每位用户重新连接邮件和日历同步
* 使用新的 API 密钥重新配置任何 API 集成

## 迁移后检查表

<Check>所有数据均已成功导入</Check>
<Check>对象之间的关系运行正常</Check>
<Check>用户分配（所有者、被指派人）映射正确</Check>
<Check>视图已重新创建</Check>
<Check>工作流已重新创建并通过测试</Check>
<Check>角色和权限已配置</Check>
<Check>邮件/日历同步已重新连接</Check>
<Check>API 集成已使用新密钥更新</Check>

## 常见问题

<AccordionGroup>
  <Accordion title="我可以自动迁移工作流吗？">
    目前不可以。 必须在您的云端实例中手动重新创建工作流。
  </Accordion>

  <Accordion title="文件附件和图片怎么办？">
    CSV 导出不包含文件附件。 您需要手动重新上传任何附件、通过 API 迁移它们，或联系我方团队获取大规模迁移的协助。
  </Accordion>

  <Accordion title="迁移期间我可以同时运行两个实例吗？">
    可以。我们建议在您确认云端迁移完成之前，保持自托管实例运行。 只要注意不要在两个环境中同时创建新数据即可。
  </Accordion>

  <Accordion title="如果某个用户尚未接受邀请怎么办？">
    引用该用户的记录将导入失败，或其关系字段为空。 在导入数据之前，确保所有用户都已接受邀请。
  </Accordion>
</AccordionGroup>

## 需要帮助？

对于复杂的迁移或大型数据集，请通过 [contact@twenty.com](mailto:contact@twenty.com) 与我们联系，或查看我们的[实施服务](/l/zh/user-guide/getting-started/capabilities/implementation-services)。
