Documentation
¶
Overview ¶
Package db 提供数据库连接与迁移。
本文件实现轻量级版本化数据库迁移器(无需外部 CLI 依赖):
- migrations/ 目录下的 SQL 文件用 //go:embed 嵌入二进制
- schema_migrations 表记录已执行的迁移版本
- 启动时按版本号顺序执行未应用的 up 迁移
命名约定:<version>_<name>.up.sql / <version>_<name>.down.sql version 为零填充整数(000001、000002…),确保字典序=数值序。
用法(bootstrap):
migrator, err := db.NewMigrator(database, db.DriverSQLite)
if err != nil { return err }
if err := migrator.Up(); err != nil { return err }
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DB *gorm.DB
DB 全局数据库实例——**装配层显式句柄**(dao 去全局化终态): dao 与 app/ 一律构造注入 *gorm.DB,不读全局;本句柄仅供 bootstrap 初始化 结果出口(identity loader/定时任务/库式下游 fnos·qnap SSO 显式取用)。
Functions ¶
func Init ¶
func Init(cfg *conf.DatabaseConfig) error
func SetDatabaseInstance ¶
Types ¶
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator 版本化迁移器。
func NewMigrator ¶
NewMigrator 创建迁移器并确保 schema_migrations 表存在。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package dao 数据访问对象层:各域模型的 GORM 持久化实现。
|
Package dao 数据访问对象层:各域模型的 GORM 持久化实现。 |
|
suffix.go — 扩展名推导(仪表盘「文件类型分布」用)。
|
suffix.go — 扩展名推导(仪表盘「文件类型分布」用)。 |
Click to show internal directories.
Click to hide internal directories.