前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多年没有这么花时间解决一个问题了

多年没有这么花时间解决一个问题了

原创
作者头像
HoneyMoose
发布2023-09-07 01:46:52
990
发布2023-09-07 01:46:52
举报
文章被收录于专栏:CWIKIUSCWIKIUS

Ruby 和 PgSQL 并不是我非常熟悉的领域。

多年没有花这么多的时间解决一个问题了,从数据的 Dump 到数据导入,到容器的 SQL 执行。

当你想放弃的时候,发现你有的是一种热爱,喜欢体验到问题被解决的感觉,人还是有需要有理想的。

尤其是在你感觉到沮丧和低估的时候,你一定要相信自己。

Buster Moon 说过 : When you’ve reached rock bottom, there’s only one way to go, and that’s up!

不要放弃,一切问题都是有原因的,也会有解决办法的。

开始阶段

最开始的时候我们只是遇到图片没有显示的问题,一直不知道是什么原因。

后来发现是在 Discourse 的 HTML 没有被正确的重新构建。

后来,我们发现可能是算法,因为 Discourse 的 URL 短算法有可能会导致没有办法进行完全的解码。

问题

当我们继续寻找问题的时候,我们发现没有办法直接查询数据库获得 String 的映射信息。

这时候怎么办呢?我们只对数据库进行查看,这是第一次我们 dump 数据库。

Discourse 使用的是 PgSQL 数据库,这个比 MySQL 要更加复杂,所以我们在本地的计算机中装了一个 PGSQL 数据库实例。

然后把服务器上的备份文件下载到本地后导入到数据库。

我们最后发现 uploads 的表数据量不一样。

最后我们才定位到是因为表丢数据了,虽然不知道具体的原因,但是只要恢复具体的数据问题就能解决了。

2023-09-06_13-37-56
2023-09-06_13-37-56

因为 Discourse 使用了容器,如何执行 SQL 导入数据又是问题。

我们需要进入 Docker 容器后,然后登录数据库再运行 SQL 才能导入数据。

同时因为文件格式的不一样,甚至没有办法直接运行 SQL 脚本。

经过最后一堆折腾后才解决这个问题,很高兴最后问题解决了。

很长时间没有为了解决一个问题花费这么多时间了,很多人说搞 IT 为什么,调 Bug 为什么。

有时候只是单纯的因为喜欢。

https://www.isharkfly.com/t/topic/14709

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始阶段
  • 问题
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档