重构项目结构,将 orm 和 rds 包迁移到 web/globals
This commit is contained in:
39
web/testutil/db.go
Normal file
39
web/testutil/db.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package testutil
|
||||
|
||||
import (
|
||||
g"platform/web/globals"
|
||||
m"platform/web/models"
|
||||
q "platform/web/queries"
|
||||
"testing"
|
||||
|
||||
"github.com/glebarez/sqlite"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// SetupDBTest 创建一个基于 SQLite 内存数据库的 GORM 连接
|
||||
func SetupDBTest(t *testing.T) *gorm.DB {
|
||||
// 使用 SQLite 内存数据库
|
||||
gormDB, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
|
||||
if err != nil {
|
||||
t.Fatalf("gorm 打开 SQLite 内存数据库失败: %v", err)
|
||||
}
|
||||
|
||||
// 自动迁移数据表结构
|
||||
err = gormDB.AutoMigrate(
|
||||
&m.User{},
|
||||
&m.Whitelist{},
|
||||
&m.Resource{},
|
||||
&m.ResourcePss{},
|
||||
&m.Proxy{},
|
||||
&m.Channel{},
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("自动迁移表结构失败: %v", err)
|
||||
}
|
||||
|
||||
// 设置全局数据库连接
|
||||
q.SetDefault(gormDB)
|
||||
g.DB = gormDB
|
||||
|
||||
return gormDB
|
||||
}
|
||||
Reference in New Issue
Block a user