Documentation
¶
Overview ¶
Package db 为服务代码提供跨数据库的辅助能力。
它通过 InjectDB 串联 sqldb、redisdb 和 mongodb add-in,并通过 MigrateDB 调用服务暴露的迁移钩子。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InjectDB ¶ added in v0.3.39
InjectDB 将 svcCtx 中按 tag 注册的数据库客户端注入 target。 target 必须是指向可寻址结构体的非 nil 指针;支持 *gorm.DB、*redis.Client 和 *mongo.Client 字段。字段的 db 标签指定连接 tag,值为 "-" 时跳过。 为兼容既有用法,未导出字段也会通过 unsafe 写入。
func InjectDBRV ¶ added in v0.3.39
InjectDBRV 是 InjectDB 的 reflect.Value 版本。 target 必须有效,并最终解引用为可寻址结构体。
Types ¶
type IMigrateDB ¶ added in v0.3.39
type IMigrateDB interface {
MigrateDB() error
}
IMigrateDB 由需要执行数据库迁移的服务或模块实现。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package dsn 定义数据库 add-in 共享的带标签连接描述和后端类型常量。
|
Package dsn 定义数据库 add-in 共享的带标签连接描述和后端类型常量。 |
|
Package mongodb 提供服务侧的 MongoDB 客户端 add-in。
|
Package mongodb 提供服务侧的 MongoDB 客户端 add-in。 |
|
Package redisdb 提供服务侧的 Redis 客户端 add-in。
|
Package redisdb 提供服务侧的 Redis 客户端 add-in。 |
|
Package sqldb 提供基于 GORM 的 SQL 数据库 add-in。
|
Package sqldb 提供基于 GORM 的 SQL 数据库 add-in。 |
Click to show internal directories.
Click to hide internal directories.