add
This commit is contained in:
49
backend/user/src/db/postgres.go
Normal file
49
backend/user/src/db/postgres.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var DB *sql.DB
|
||||
|
||||
// 初始化数据库连接
|
||||
func Init() {
|
||||
// 从环境变量获取数据库配置
|
||||
dbHost := os.Getenv("DB_HOST")
|
||||
dbPort := os.Getenv("DB_PORT")
|
||||
dbUser := os.Getenv("DB_USER")
|
||||
dbPassword := os.Getenv("DB_PASSWORD")
|
||||
dbName := os.Getenv("DB_NAME")
|
||||
zap.L().Info(
|
||||
"💡 读取数据库配置",
|
||||
zap.String("host", dbHost), // key: "host", value: dbHost(string类型)
|
||||
zap.String("port", dbPort), // key: "port", value: dbPort(string类型)
|
||||
zap.String("user", dbUser), // key: "user", value: dbUser(string类型)
|
||||
zap.String("dbname", dbName), // key: "dbname", value: dbName(string类型)
|
||||
)
|
||||
|
||||
// 构建数据库连接字符串
|
||||
connStr := fmt.Sprintf(
|
||||
"host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
|
||||
dbHost, dbPort, dbUser, dbPassword, dbName,
|
||||
)
|
||||
|
||||
var err error
|
||||
DB, err = sql.Open("postgres", connStr)
|
||||
if err != nil {
|
||||
zap.L().Panic("❌ 无法连接数据库", zap.Error(err))
|
||||
}
|
||||
defer DB.Close()
|
||||
zap.L().Info("✅ 数据库连接对象创建成功")
|
||||
|
||||
// 验证数据库连接
|
||||
if err := DB.Ping(); err != nil {
|
||||
zap.L().Panic("❌ 数据库连接失败", zap.Error(err))
|
||||
}
|
||||
zap.L().Info("✅ 数据库连接验证成功")
|
||||
}
|
||||
Reference in New Issue
Block a user