增加获取表列表方法
This commit is contained in:
		| @@ -124,15 +124,7 @@ func initStorage(cfg config.DatabaseConfig, logger *logs.Logger) (database.Stora | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// 执行数据库迁移 | 	// 执行数据库迁移 | ||||||
| 	// 这里需要添加所有需要自动迁移的模型 | 	if err := storage.Migrate(models.GetAllModels()...); err != nil { | ||||||
| 	var dbModels = []interface{}{ |  | ||||||
| 		&models.User{}, |  | ||||||
| 		&models.Device{}, |  | ||||||
| 		&models.Plan{}, |  | ||||||
| 		&models.SubPlan{}, |  | ||||||
| 		&models.Task{}, |  | ||||||
| 	} |  | ||||||
| 	if err := storage.Migrate(dbModels...); err != nil { |  | ||||||
| 		return nil, fmt.Errorf("数据库迁移失败: %w", err) | 		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, "连接内存数据库时发生错误") | 	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, "数据库迁移时发生错误") | 	assert.NoError(t, err, "数据库迁移时发生错误") | ||||||
|  |  | ||||||
| 	return db | 	return db | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user