database

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDBManager

func NewDBManager(cfg contracts.Config, log contracts.Log) (contracts.DB, error)

NewDBManager 创建数据库管理器实例,自动检测新/旧配置格式。

func NewOrm

func NewOrm(cfg contracts.Config, log contracts.Log) (contracts.Orm, error)

NewOrm 根据配置创建 ORM 实例。

func RegisterDriver

func RegisterDriver(name string, f DriverFactory)

RegisterDriver 由插件的 ServiceProvider 在启动时调用,注册 ORM 驱动工厂。

Types

type AfterCreator

type AfterCreator = contracts.AfterCreator

AfterCreator 创建后钩子(= contracts.AfterCreator)

type AfterDeleter

type AfterDeleter = contracts.AfterDeleter

AfterDeleter 删除后钩子(= contracts.AfterDeleter)

type AfterFinder

type AfterFinder = contracts.AfterFinder

AfterFinder 查询后钩子(= contracts.AfterFinder)

type AfterUpdater

type AfterUpdater = contracts.AfterUpdater

AfterUpdater 更新后钩子(= contracts.AfterUpdater)

type BeforeCreator

type BeforeCreator = contracts.BeforeCreator

BeforeCreator 创建前钩子(= contracts.BeforeCreator)

type BeforeDeleter

type BeforeDeleter = contracts.BeforeDeleter

BeforeDeleter 删除前钩子(= contracts.BeforeDeleter)

type BeforeUpdater

type BeforeUpdater = contracts.BeforeUpdater

BeforeUpdater 更新前钩子(= contracts.BeforeUpdater)

type ConnectionConfig

type ConnectionConfig = contracts.ConnectionConfig

ConnectionConfig 是 contracts.ConnectionConfig 的类型别名,保持向后兼容。 具体定义已移至 contracts 包,以避免 database ↔ gormdriver 的循环依赖。

type DriverFactory

type DriverFactory func(cfg ConnectionConfig, log contracts.Log) (contracts.Driver, error)

DriverFactory 根据连接配置创建 Driver。

type Model

type Model struct {
	ID        string `gorm:"primaryKey;size:36;column:id"      xorm:"pk varchar(36) 'id'"    json:"id"`
	CreatedAt int64  `gorm:"autoCreateTime;column:created_at"  xorm:"created 'created_at'"   json:"created_at"`
	UpdatedAt int64  `gorm:"autoUpdateTime;column:updated_at"  xorm:"updated 'updated_at'"   json:"updated_at"`
}

Model 基础模型,所有业务模型应嵌入此结构体。 ID 为 UUID v7 字符串主键,由框架层 BeforeCreate Hook 自动生成。

func (*Model) BeforeCreate

func (m *Model) BeforeCreate(_ contracts.Query) error

BeforeCreate 框架层 Hook:创建前自动生成 UUID v7 主键。 各 ORM 驱动在 Create 前检查目标对象是否实现 contracts.BeforeCreator,如有则调用。

type ModelWithSoftDelete

type ModelWithSoftDelete struct {
	Model
	DeletedAt int64 `gorm:"column:deleted_at;index;default:0" xorm:"'deleted_at' index default(0)" json:"deleted_at"`
}

ModelWithSoftDelete 带软删除的基础模型。

type ServiceProvider

type ServiceProvider struct{}

ServiceProvider Database 服务提供者。

func (*ServiceProvider) Boot

func (*ServiceProvider) Register

func (sp *ServiceProvider) Register(app foundation.Application)

Directories

Path Synopsis
drivers

Jump to

Keyboard shortcuts

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