Files
nl-game-api/main.go
2026-08-14 13:17:03 +08:00

39 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 像素游戏厅后端入口:加载配置 → 连接数据库 → 启动 HTTP/WebSocket 服务
package main
import (
"fmt"
"log"
"nl-game-api-gin/internal/config"
"nl-game-api-gin/internal/database"
"nl-game-api-gin/internal/router"
)
func main() {
// 加载 config.yaml端口、数据库、JWT、AI Key
if err := config.Load("config.yaml"); err != nil {
log.Fatalln("配置加载失败:", err)
}
// 初始化 MySQL 连接
if err := database.Init(); err != nil {
log.Fatalln("数据库初始化失败:", err)
}
// 仅开发模式go run 启动)自动补建缺失的表;
// go build 打包后的二进制绝不迁移,生产库结构变更一律手动执行 sql/ 脚本
if database.IsDevRun() {
if err := database.AutoMigrateMissing(); err != nil {
log.Fatalln("dev 自动建表失败:", err)
}
} else {
log.Println("生产模式:跳过表结构迁移(结构变更请手动执行 sql/ 脚本)")
}
// 启动服务
engine := router.Setup()
addr := fmt.Sprintf(":%d", config.C.Server.Port)
log.Println("后端服务已启动,监听", addr)
if err := engine.Run(addr); err != nil {
log.Fatalln("服务启动失败:", err)
}
}