> For the complete documentation index, see [llms.txt](https://docsv3.cloudreve.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docsv3.cloudreve.org/manage/update/upgrade.md).

# 从 2.x.x 升级

由于数据表结构变动较大，从 V2 版本升级至 V3 需要手动执行数据库升级助手。升级前请一定注意备份 V2 版本网站数据，避免造成数据丢失。

## 升级兼容性

从 V2 升级至 V3 后，以下数据将会丢失：

* 离线下载记录
* 定时任务设定
* 用户二步验证设定

## 升级前检查项

在进行升级前，请按照下列清单注意检查，确保所有项目都符合并知晓后再执行后续升级操作。

* 确保 V2 版本的 Cloudreve 具体版本号为 `2.0.0-Alpha1` ，您可以在 管理面板 - 关于 看到版本号；
* V3 版本暂时不支持 S3 类型存储策略，如果您正在使用 S3 存储策略，请备份或转移文件后，将存储策略及其下属文件删除；
* 如果您正在使用 远程存储策略，请备份或转移文件后，将存储策略及其下属文件删除，因为暂不支持升级远程存储策略；
* 备份 V2 网站文件、数据库；
* 如果您正在使用 OneDrive 任务队列，请先停止；
* 停止已设定的 Crontab 定时任务；
* 您已知晓 V3 版本的搭建方法，以及配置使用 MySQL 的过程，后续会使用到，本文不再赘述。

## 开始升级

### 搭建 V3 版本

参考下面页面，在 V2 版本 Cloudreve 网站目录下启动 V3：

{% content-ref url="/pages/-M2GxTV4LfGsFdbDFIWz" %}
[快速开始](/getting-started/install.md)
{% endcontent-ref %}

参考下面页面，在配置文件中指定 V3 版本使用 MySQL 数据库，请注意指定 V2 版本不同的数据库，或者使用数据表前缀与 V2 版本区分：

{% content-ref url="/pages/-M2HLuR0NcMWd52NZDJf" %}
[配置文件](/getting-started/config.md)
{% endcontent-ref %}

重启 V3 ，让 Cloudreve 初始化 V3 版本的数据表，初始化完成后，请不要执行任何操作。

### 运行升级助手

在 [Release 3.0.0](https://github.com/cloudreve/Cloudreve/releases/tag/3.0.0) 页面下载 `upgrade_from_2.0.0-Alpha1.zip` ( Pro 版用户请下载`upgrade_from_2.0.0-Alpha1-pro.zip`)，解压覆盖到 V2 根目录下。

在命令行下，切换工作目录到 V2 根目录，启动升级助手：

```bash
# 切换到 V2 根目录
cd /home/www/cloudreve.org

# 开始升级
php upgrade run
```

根据提示，输入 V3 版本的数据库信息，输入完成后会开始数据库升级。

### 后续操作

升级助手执行完毕后，您就可以使用 V3 版本了。 V2 网站目录下，请注意保留`public` 目录，此目录下有 V2 版本的用户头像、本地策略文件等数据，仍会被 V3 版本使用，其他文件可酌情删除。

### 升级失败后的操作

如果升级过程中出现异常，需要重试时，请恢复已备份的 V2 版本数据库，删除 V3 版本数据表并重启 V3 主程序后，再启动升级助手。再次升级过程中可能会出现缩略图、头像文件升级错误警告，可以忽略。
