package main import ( "log" "net/http" "os" "gpt-manager-go/internal/config" "gpt-manager-go/internal/db" "gpt-manager-go/internal/router" ) func main() { // 加载 .env 文件 if err := config.LoadEnv(".env"); err != nil { log.Printf("Warning: Failed to load .env file: %v", err) } // 初始化数据库连接 if err := db.Init(); err != nil { log.Fatalf("Failed to initialize database: %v", err) } defer db.Close() // 执行数据库迁移 if err := db.Migrate(db.DB); err != nil { log.Fatalf("Failed to run migrations: %v", err) } // 设置路由 handler := router.SetupRoutes(db.DB) // 获取端口 port := os.Getenv("PORT") if port == "" { port = "8080" } log.Printf("Server starting on port %s...", port) if err := http.ListenAndServe(":"+port, handler); err != nil { log.Fatalf("Server failed: %v", err) } }