db

package
v0.3.68 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2026 License: LGPL-2.1 Imports: 13 Imported by: 1

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

func InjectDB(svcCtx service.Context, target any) error

InjectDB 将 svcCtx 中按 tag 注册的数据库客户端注入 target。 target 必须是指向可寻址结构体的非 nil 指针;支持 *gorm.DB、*redis.Client 和 *mongo.Client 字段。字段的 db 标签指定连接 tag,值为 "-" 时跳过。 为兼容既有用法,未导出字段也会通过 unsafe 写入。

func InjectDBRV added in v0.3.39

func InjectDBRV(svcCtx service.Context, target reflect.Value) error

InjectDBRV 是 InjectDB 的 reflect.Value 版本。 target 必须有效,并最终解引用为可寻址结构体。

func MigrateDB added in v0.3.39

func MigrateDB(services ...any) error

MigrateDB 按传入顺序调用实现 IMigrateDB 的对象,并在首个错误处停止。 未实现 IMigrateDB 的值会被忽略。

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。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL