- 将main.go中的初始化逻辑提取到新的app包中 - 创建bootstrap包来处理配置加载和数据库初始化 - 添加middleware包来管理CORS中间件 - 创建router包来处理路由配置 - 简化main函数,只保留应用启动逻辑 - 使用依赖注入模式组织服务和处理器
18 lines
353 B
Go
18 lines
353 B
Go
package bootstrap
|
|
|
|
import (
|
|
"memora-api/internal/config"
|
|
"memora-api/internal/model"
|
|
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func InitDB(cfg *config.Config) (*gorm.DB, error) {
|
|
return gorm.Open(mysql.Open(cfg.Database.DSN()), &gorm.Config{})
|
|
}
|
|
|
|
func AutoMigrate(db *gorm.DB) error {
|
|
return db.AutoMigrate(&model.Word{}, &model.MemoryRecord{})
|
|
}
|