Files
InfoGenie/infogenie-backend-go/cmd/server/main.go
2026-03-28 20:59:52 +08:00

44 lines
1012 B
Go

package main
import (
"fmt"
"log"
"github.com/gin-gonic/gin"
"infogenie-backend/config"
"infogenie-backend/internal/database"
"infogenie-backend/internal/router"
)
func main() {
cfg, err := config.Load()
if err != nil {
log.Fatalf("配置加载失败: %v", err)
}
log.Printf("InfoGenie Go Backend 启动中... [环境: %s, DB: %s:%s/%s]", cfg.Env, cfg.DB.Host, cfg.DB.Port, cfg.DB.Name)
if err := database.Init(cfg.DB); err != nil {
log.Fatalf("数据库初始化失败: %v", err)
}
if err := database.AutoMigrate(); err != nil {
log.Fatalf("数据库迁移失败: %v", err)
}
log.Println("数据库表自动迁移完成")
if cfg.Env == "production" {
gin.SetMode(gin.ReleaseMode)
}
r := gin.Default()
router.Setup(r)
addr := fmt.Sprintf("0.0.0.0:%s", cfg.Port)
log.Printf("🚀 InfoGenie 后端服务已启动: http://localhost:%s", cfg.Port)
if err := r.Run(addr); err != nil {
log.Fatalf("服务启动失败: %v", err)
}
}