feat: main.go 条件初始化 PostgreSQL 连接池
- 添加 store 包导入 - 当 storage.driver 为 postgres 时创建 pgxpool - 使用 defer 确保连接池正确关闭 - 添加日志记录连接状态
This commit is contained in:
@@ -19,6 +19,7 @@ import (
|
|||||||
"github.com/hhs/camtalk/internal/logger"
|
"github.com/hhs/camtalk/internal/logger"
|
||||||
"github.com/hhs/camtalk/internal/orchestrator"
|
"github.com/hhs/camtalk/internal/orchestrator"
|
||||||
"github.com/hhs/camtalk/internal/session"
|
"github.com/hhs/camtalk/internal/session"
|
||||||
|
"github.com/hhs/camtalk/internal/store"
|
||||||
"github.com/hhs/camtalk/internal/ws"
|
"github.com/hhs/camtalk/internal/ws"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -44,6 +45,21 @@ func main() {
|
|||||||
"addr", cfg.Server.Addr(),
|
"addr", cfg.Server.Addr(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 初始化存储层(条件初始化 PostgreSQL)
|
||||||
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
if cfg.Storage.Driver == "postgres" {
|
||||||
|
pool, err := store.NewPostgresPool(ctx, cfg.Storage.DSN)
|
||||||
|
if err != nil {
|
||||||
|
logger.Log.Fatalw("failed to connect to postgres", "error", err)
|
||||||
|
}
|
||||||
|
defer pool.Close()
|
||||||
|
logger.Log.Infow("postgres connected", "driver", cfg.Storage.Driver)
|
||||||
|
// TODO: Phase 2 - 初始化 UserRepository 和 MessageRepository
|
||||||
|
_ = pool
|
||||||
|
}
|
||||||
|
|
||||||
// 初始化 Session Manager(MVP 默认内存实现)
|
// 初始化 Session Manager(MVP 默认内存实现)
|
||||||
var sessionMgr session.Manager
|
var sessionMgr session.Manager
|
||||||
// TODO: 当 Redis 配置非空时切换为 RedisManager
|
// TODO: 当 Redis 配置非空时切换为 RedisManager
|
||||||
|
|||||||
Reference in New Issue
Block a user