跳到主要内容
版本:2.17

从 Halo 1.x 迁移

因为 Halo 2.0 的底层架构变动,无法兼容 1.x 的数据,导致无法平滑升级,所以需要进行数据迁移。为此,我们提供了从 Halo 1.5 / 1.6 版本迁移的插件。在进行迁移之前,有几点注意事项和要求,如果你目前无法满足,建议先暂缓迁移。

如果遇到了迁移过程中的问题,也可以向我们提交 Issue: https://github.com/halo-dev/halo/issues/new/choose,以上暂不支持的功能我们也会陆续完善。

备份数据

在进行迁移操作之前,我们强烈建议先完整备份所有数据,可以参考 备份迁移 进行整站备份。

导出数据文件

在 Halo 1.5.x / 1.6.x 后台的小工具中提供了数据导出的功能,将最新的数据进行备份,然后下载即可。这个数据文件包含了数据库所有的数据,后续我们在 2.0 的导入插件中就是通过这个文件进行数据导入。

halo-data-export.png

部署 Halo 2.0

可以参考以下文档进行部署:

提示

可以考虑暂时保留旧版本的 Halo,等到迁移完成之后再移除。如果需要保留旧版本的 Halo,请注意在部署 Halo 2.0 的时候使用其他端口,然后在反向代理(Nginx)中修改为 Halo 2.0 的运行端口即可。

移动附件

  • 本地存储的附件,只需要将 1.x 工作目录的 upload 目录里面的所有文件夹移动到 2.0 工作目录下的 attachments/migrate-from-1.x 文件夹即可。
  • 云存储的附件迁移会在迁移插件中进行。

安装插件

在迁移过程中,需要提前安装必要的插件:

配置存储策略

如果在 Halo 1.x 中未使用云存储,可以跳过此步骤。

  1. 安装 S3 插件。
  2. 进入附件管理页面。
  3. 点击页面右上角的 存储策略 按钮。
  4. 创建存储策略,选择 S3 Object Storage
  5. 填写相关配置,点击 保存 即可。

迁移

Migrate Plugin

  1. 点击左侧菜单的迁移进入迁移页面。
  2. 点击 选择文件 按钮,选择在 Halo 1.5.x / 1.6.x 导出的数据文件(JSON 格式)。
  3. 如果在 1.x 中使用了云存储,会弹出选择云存储的对话框,选择之前创建的存储策略即可。
  4. 最后点击页面下方的 执行导入 即可。