增加获取表列表方法
This commit is contained in:
@@ -124,15 +124,7 @@ func initStorage(cfg config.DatabaseConfig, logger *logs.Logger) (database.Stora
|
||||
}
|
||||
|
||||
// 执行数据库迁移
|
||||
// 这里需要添加所有需要自动迁移的模型
|
||||
var dbModels = []interface{}{
|
||||
&models.User{},
|
||||
&models.Device{},
|
||||
&models.Plan{},
|
||||
&models.SubPlan{},
|
||||
&models.Task{},
|
||||
}
|
||||
if err := storage.Migrate(dbModels...); err != nil {
|
||||
if err := storage.Migrate(models.GetAllModels()...); err != nil {
|
||||
return nil, fmt.Errorf("数据库迁移失败: %w", err)
|
||||
}
|
||||
|
||||
|
||||
13
internal/infra/models/models.go
Normal file
13
internal/infra/models/models.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package models
|
||||
|
||||
// GetAllModels 返回一个包含所有数据库模型实例的切片。
|
||||
// 这个函数用于在数据库初始化时自动迁移所有的表结构。
|
||||
func GetAllModels() []interface{} {
|
||||
return []interface{}{
|
||||
&User{},
|
||||
&Device{},
|
||||
&Plan{},
|
||||
&SubPlan{},
|
||||
&Task{},
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ func setupTestDB(t *testing.T) *gorm.DB {
|
||||
assert.NoError(t, err, "连接内存数据库时发生错误")
|
||||
|
||||
// 自动迁移所有需要的表结构
|
||||
err = db.AutoMigrate(&models.User{}, &models.Device{}, &models.SubPlan{}, &models.Task{}, &models.Plan{})
|
||||
err = db.AutoMigrate(models.GetAllModels()...)
|
||||
assert.NoError(t, err, "数据库迁移时发生错误")
|
||||
|
||||
return db
|
||||
|
||||
Reference in New Issue
Block a user