🌡️postgresql 数据库迁移| Cusdis 数据迁移

2023-2-8|2024-2-12
D_SUPER
D_SUPER
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 为例,记录数据库的迁移和服务的重配置过程。

前期准备

  • 注册 bit.io [PostgreSQL 免费服务,3G 空间,不限时长]
⚠️
bit.io 服务关闭,请停止注册,并迁移数据!其他数据库同样适用本流程[elephantSQL]。

创建 PostgreSQL 新数据库

  • 创建一个新的数据库,命名 cusdis
notion image
notion image
 
  • 进入 Connect 获取数据库连接参数
notion image

Cusdis 连接新建的空数据库

  • 在 vercel 中,将 cusdis 项目的环境变量 DB_URL 更换为上图的 Postgres Connection
    • 注意:Postgres Connection 中用户名和数据库名之间使用点号,即 xxxxx/D_super/cusdisxxxxx/D_super.cusdis
  • 重新部署 vercel 的 Cusdis 项目,等待 2-3 分钟;【重要】
  • 访问 Cusdis 地址创建 Test 空项目,进入 Cusdis 后台。
    • 如果出现登录错误,点击浏览器地址栏前面的🔒,删除站点 Cookie,重新访问。
notion image
notion image
此时后台仅有 Test 项目
此时后台仅有 Test 项目

PostgreSQL 数据库迁移

  • 打开 DBeaver ,在 左上角工具栏新建数据库连接PostgreSQL 填入参数(右下图)后,测试连接 ,先后打开旧数据库 (railway.app) 和新数据库 (bit.io) ;
notion image
notion image
  • 选择旧数据库 railwaypublic 里的全部表(红括所示),点击 导出数据
notion image
  • 数据传送,转化目标:导出目标 - 数据库 数据库表;
notion image
  • 数据传送,表映射:目标容器选择 bit.io 的 cusdis 下的 public;
notion image
  • 其他可不再修改,直到点击确认,开始数据传送。
    • 注意:在数据传送过程中,弹出的提示框须选择 重试 选项。

完成迁移

  • 待数据传送完成,刷新 Cusdis 后台页面,即可看到原有站点,完成数据库的迁移。
notion image

总结

  • 本文记录数据库迁移的过程。对于使用免费服务的轻度用户来说,各服务厂商的服务策略改变难以预测,学会数据迁移避免“在一棵树上吊死”。
  • 使用 DBeaver 图形化操作,转移数据库,使用起来比较直观。非 windows 也可以尝试使用 pgcli 工具。

推荐阅读


 
NotionNext 定制页面信息同步 - 每页的信息栏/广告栏取消 Instagram 自动关注陌生人
  • Waline