视频加载失败

把博客内容迁进数据库:一次渐进式改造

563 字
2 分钟
把博客内容迁进数据库:一次渐进式改造
把博客内容迁进数据库:一次渐进式改造

渐进式迁移

静态博客的好处是简单,坏处是每次改字都要重新构建。把内容迁进数据库,不一定要一次性完成。

第一步:定义导出格式

先写一个脚本,把 Markdown 的 frontmatter 与正文解析成统一结构:

{
  "title": "文章标题",
  "slug": "post-slug",
  "publishedAt": "2026-10-20 10:00:00",
  "tags": ["Vue", "MySQL"],
  "content": "正文……"
}

这一步不改任何线上行为,只是把数据整理成可以导入的形式。

第二步:双写与对照

后台先只提供只读列表,前台仍然读静态文件。用脚本比对两边的标题、时间和字数,确认无误后再切换读取来源。

第三步:切换读取

前端只改一个数据层:原本从构建产物读取,现在从 /api/portal/posts 读取。路由与组件保持不变。

第四步:补管理能力

当内容已经在数据库里,后台的文章编辑、分类调整和评论审核才有意义。此时再做管理页面,需求也更清晰。

迁移的关键不是技术,而是让每一步都可回滚。

回滚预案

  • 数据库保留每日备份;
  • 静态文件在迁移完成后至少保留一个月;
  • 前台通过环境变量切换数据源,出问题时可以快速切回。

这次迁移花了一个周末,但真正写代码的时间不到一半,其余都用在核对内容和验证边界情况上。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

把博客内容迁进数据库:一次渐进式改造
http://dzs.asia/posts/migrate-content-to-database/
作者
Duan
发布于
2026-10-18
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
暂无相关文章
随机文章随机推荐

评论区

Profile Image of the Author
Duan
Hello World!
公告
博客已接入 Spring Boot + MySQL 后台,文章、动态、相册和评论都可以在线维护。
分类
标签
最新动态
站点统计
文章
6
分类
4
标签
10
总字数
0
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly vunknown
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录