pink_fox/pink_fox_app/internal/app/db/db.go
Michael Makarochkin f6521b9332 Обновлена среда разработки и добавлен новый функционал в сервер
- Улучшена среда разработки, поправлены косяки старта дебагера

- Добавлен логер в приложение

- Добавлен cli framework
2025-02-28 02:47:17 +03:00

31 lines
671 B
Go

package db
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
"pink_fox/internal/app/config"
"time"
)
func CreateConnection(dbConf *config.DB) (*sql.DB, error) {
psqlInfo := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
dbConf.Host, dbConf.Port, dbConf.User, dbConf.Password, dbConf.Database)
var err error
var db *sql.DB
for i := 0; i < 10; i++ {
db, err = sql.Open("postgres", psqlInfo)
if err == nil {
err = db.Ping()
if err == nil {
return db, nil
}
}
time.Sleep(200 * time.Millisecond)
}
return nil, fmt.Errorf("не удалось подключиться к базе данных: %v", err)
}