发现这节课的一个问题 - 关于找不到部分方法跟数据库初始化失败的解决方法

来源:5-9 登陆管理功能 - 登陆接口开发

HHHHHHHHHTTTTIGER

2022-07-02

完整项目代码里面包含golang_common这个工具库的文件夹,但是从框架拉下来是没有的。所以使用lib.GetGormPool(“default”)获取连接池的时候会有问题。

vs code自动解决错误的话,会拉"github.com/e421083458/golang_common"这样一个包,看起来是跟上面的golang_common是一样的,不过里面的结构体就不是一回事。

本地文件夹这个包自己封装了一个gorm.DB,拉下来的那个golang_common包又是用的gorm原来的gorm.DB,导致传值的时候发生错误。

看下面的对比图,一目了然。
图片描述
图片描述

写回答

1回答

HHHHHHHHHTTTTIGER

提问者

2022-07-02

排查了一轮,这个问题是这个项目的普遍问题,简单来说就是本地的golang_common包跟go get下来的golang_common不一样,从而导致了很多问题。看了一些别人提问的问题,比如没有gorm.DB.SetCtx这个问题也个原因导致的。

很显然老师更新过一版golang_common,把里面引用的一些包改成了通用的包,而不是自己的包。

要解决这个问题也很简单,从go_gateway(就是github上面的项目)里面把golang_common复制到你的项目里面,如果已经用go get引入了golang_common包的话,就全局替换未上面相对路径的本地的golang_common,同时可能会有部分方法出问题,比如加载配置文件的方法InitModule,这个可以自己解决一下。

不得不吐槽一下,目测老师是这门课程推出之后(起码是2022年后),想把这个通用的包作为一个更通用的基础包放上github,不过没有做好跟课程的兼容,实属不应该。


1
2
prove_
是的,有点坑哇,快400的课程
2023-01-25
共2条回复

(打造简历金牌项目)Vue+Go 开发企业级微服务网关项目

简历中摒弃烂大街的培训机构项目,带你开发企业级微服务网关

1316 学习 · 352 问题

查看课程