gopackage repository
import (
"context"
"next-terminal/server/constant"
"next-terminal/server/env"
"gorm.io/gorm"
)
type baseRepository struct {
}
func (b *baseRepository) GetDB(c context.Context) *gorm.DB {
db, ok := c.Value(constant.DB).(*gorm.DB)
if !ok {
return env.GetDB()
}
return db
}
其中定义了一个基础的baseRepository,所有的rep全部组合baseRepository,然后通过GetDB方法获取其中的gorm.DB.目前来看,这种方式可以减少大量的repo的初始化过程,新创建的repo只需要组合baseRepository即可正常的使用gorm.DB. 这里使用它来存储一个gorm.DB,数据,以便每次需要使用时直接在context中取出来.
不过多赘述,自己在官网下载即可,不过提一点,我用的github,仓库无法拉取下来,只能自己下载下来后绑定仓库。
后续:由于GitHub新建仓库默认只有main分支,而gitnote默认拉取master分支,所以无法拉取成功,解决方法:新建一个master分支,或者直接将默认的main分支改为master。
错误如下
尝试使用换源解决失败,最后使用激活一个新的环境成功安装
conda create --name myenv conda activate myenv