type
status
date
slug
summary
category
tags
icon
目前在线数据库的使用正变得越来越普遍,其中 Postgresql 数据库技术受到了广泛的认可,它支持多种语言,提供了一种高效和可靠的方式来管理和迁移数据。它的强大的数据迁移功能可以帮助开发人员快速迁移数据,从而节省大量的时间和精力。
早在 Nobelium 博客系统中,Cusdis 就作为评论系统得到集成。NotionNext 中,Cusdis 的评论功能依然作为一个可选项。之前 Railway 作为 Cusdis 数据库,可以 24H 不间断运行。随着 Railway 将免费用户的项目在线时长限制为 500H,每个月就总有那么10来天服务挂掉,用着很不爽。因此,就有了强烈的迁移数据库的需求。
我的另一篇文章《配置 NotionNext 博客 Waline 评论系统》,介绍了使用 Railway 作为数据库,支持评论系统 waline ,估计也是不大能长续存在了。同样也是需要将数据库迁移出来。
本文将以迁移 Cusdis 使用的 PostgreSQL 为例,记录数据库的迁移和服务的重配置过程。
前期准备
- 安装 DBeaver 工具 [下载地址]
- 注册 bit.io [
PostgreSQL 免费服务,3G 空间,不限时长]
bit.io 服务关闭,请停止注册,并迁移数据!其他数据库同样适用本流程[elephantSQL]。
创建 PostgreSQL 新数据库
- 创建一个新的数据库,命名
cusdis
- 进入
Connect
获取数据库连接参数
Cusdis 连接新建的空数据库
- 在 vercel 中,将 cusdis 项目的环境变量
DB_URL
更换为上图的Postgres Connection
; - ⚠注意:
Postgres Connection
中用户名和数据库名之间使用点号,即xxxxx/D_super/cusdis
→xxxxx/D_super.cusdis
- 重新部署 vercel 的 Cusdis 项目,等待 2-3 分钟;【重要】
- 访问 Cusdis 地址创建
Test
空项目,进入 Cusdis 后台。 - 如果出现登录错误,点击浏览器地址栏前面的🔒,删除站点
Cookie
,重新访问。
PostgreSQL 数据库迁移
- 打开 DBeaver ,在
左上角工具栏
→新建数据库连接
→PostgreSQL
填入参数(右下图)后,测试连接
,先后打开旧数据库 (railway.app) 和新数据库 (bit.io) ;
- 选择旧数据库
railway
下public
里的全部表(红括所示),点击导出数据
;
- 数据传送,转化目标:导出目标 - 数据库 数据库表;
- 数据传送,表映射:目标容器选择 bit.io 的 cusdis 下的 public;
- 其他可不再修改,直到点击确认,开始数据传送。
- ⚠注意:在数据传送过程中,弹出的提示框须选择
重试
选项。
完成迁移
- 待数据传送完成,刷新 Cusdis 后台页面,即可看到原有站点,完成数据库的迁移。
总结
- 本文记录数据库迁移的过程。对于使用免费服务的轻度用户来说,各服务厂商的服务策略改变难以预测,学会数据迁移避免“在一棵树上吊死”。
- 使用 DBeaver 图形化操作,转移数据库,使用起来比较直观。非 windows 也可以尝试使用 pgcli 工具。
- 其他 PostgreSQL 服务:Supabase 或 elephantSQL 免费额度足够作为评论数据库。