Affine 数据迁移到 1Panel 教程

本文记录了如何将 旧服务器上的 Affine 数据 迁移到 新服务器上的 1Panel 部署环境。核心思路是 直接导出 / 导入 PostgreSQL 数据库,绕过 1Panel 的应用备份限制。


一、前提条件

  • 源服务器:已有运行中的 Affine(Docker 部署),数据库容器名为 affine_postgres
  • 目标服务器:使用 1Panel 部署 Affine,并提前创建好数据库(PostgreSQL)。
  • 数据库信息:数据库名 affine,用户 affine

二、在旧服务器导出数据库

进入宿主机执行以下命令:

# 导出为 SQL 文件
docker exec -t affine_postgres pg_dump -U affine -d affine > affine.sql

如需压缩:

docker exec -t affine_postgres pg_dump -U affine -d affine | gzip > affine.sql.gz

此时会在当前目录生成 affine.sqlaffine.sql.gz


三、在新服务器准备数据库

在 1Panel 界面中新建 PostgreSQL 数据库:

  • 数据库名:affine
  • 用户名:affine
  • 密码:自行设置

确保新建的数据库为空。


四、在新服务器导入数据库

affine.sql 文件上传到新服务器。然后执行:

# 导入 sql 文件
docker exec -i affine_postgres psql -U affine -d affine < affine.sql

如果是压缩包:

gunzip -c affine.sql.gz | docker exec -i affine_postgres psql -U affine -d affine

导入成功后,数据就已经写入到新建的数据库中。


五、部署 Affine 并绑定数据库

在 1Panel 中部署 Affine 应用时,选择刚刚导入数据的数据库(affine)。 部署完成后,Affine 会自动读取数据库里的数据。


六、验证数据

  • 使用原有账号登录 Affine
  • 确认笔记内容完整
  • 确认附件、图片等正常显示

如果都无误,迁移成功 🎉


七、经验总结 & 避坑

  1. 不要直接用 1Panel 应用导入功能
    • 它要求 .tar.gz 内必须包含 app.jsonapp.tar.gz,和普通 pg_dump 文件格式不兼容。
    • 所以直接走命令行导入数据库更稳妥。
  2. 注意数据库用户权限
    • 确保 affine 用户对数据库有完整的读写权限,否则导入会报错。
  3. 建议保留源数据库备份
    • 即使迁移完成,也建议保留 affine.sql.gz 作为冷备。

✅ 至此,Affine 已经成功迁移到 1Panel 环境,可以无缝继续使用。


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇