多年没有这么花时间解决一个问题了
  3I1N9ysrcSyk 2023年11月02日 45 0


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 的表数据量不一样。

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


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


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

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

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

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

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

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

多年没有这么花时间解决一个问题了 - 程序人生 - iSharkFly

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
3I1N9ysrcSyk