1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-24 22:53:52 +02:00

сделал Connect_WithApplicationName_err()

This commit is contained in:
Nikitin Aleksandr
2023-11-23 15:34:13 +03:00
parent f4caf3891b
commit 53f82c9f35
2 changed files with 43 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ import (
"errors"
"github.com/ManyakRus/starter/logger"
"github.com/ManyakRus/starter/ping"
"strings"
"time"
//"github.com/jackc/pgconn"
@@ -73,6 +74,14 @@ func Connect() {
// Connect_err - подключается к базе данных
func Connect_err() error {
var err error
err = Connect_WithApplicationName_err("")
return err
}
// Connect_WithApplicationName_err - подключается к базе данных, с указанием имени приложения
func Connect_WithApplicationName_err(ApplicationName string) error {
var err error
if Settings.DB_HOST == "" {
FillSettings()
@@ -84,7 +93,7 @@ func Connect_err() error {
//defer cancel()
// get the database connection URL.
dsn := GetDSN()
dsn := GetDSN(ApplicationName)
//
conf := &gorm.Config{}
@@ -249,6 +258,18 @@ func StartDB() {
}
// Start - делает соединение с БД, отключение и др.
func Start(ApplicationName string) {
Connect_WithApplicationName_err(ApplicationName)
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
stopapp.GetWaitGroup_Main().Add(1)
go ping_go()
}
// FillSettings загружает переменные окружения в структуру из файла или из переменных окружения
func FillSettings() {
Settings = SettingsINI{}
@@ -298,12 +319,15 @@ func FillSettings() {
}
// GetDSN - возвращает строку соединения к базе данных
func GetDSN() string {
func GetDSN(ApplicationName string) string {
ApplicationName = strings.ReplaceAll(ApplicationName, " ", "_")
dsn := "host=" + Settings.DB_HOST + " "
dsn += "user=" + Settings.DB_USER + " "
dsn += "password=" + Settings.DB_PASSWORD + " "
dsn += "dbname=" + Settings.DB_NAME + " "
dsn += "port=" + Settings.DB_PORT + " sslmode=disable TimeZone=UTC"
dsn += "port=" + Settings.DB_PORT + " sslmode=disable TimeZone=UTC "
dsn += "application_name=" + ApplicationName
return dsn
}

View File

@@ -15,9 +15,6 @@ import (
)
func TestConnect_err(t *testing.T) {
//Connect_Panic()
//ProgramDir := micro.ProgramDir_Common()
config.LoadEnv()
err := Connect_err()
if err != nil {
@@ -106,3 +103,19 @@ func TestGetConnection(t *testing.T) {
CloseConnection()
}
func TestConnect_WithApplicationName_err(t *testing.T) {
config.LoadEnv()
err := Connect_WithApplicationName_err("starter test")
if err != nil {
t.Error("TestConnect_WithApplicationName_err error: ", err)
}
//micro.Pause(60 * 1000)
err = CloseConnection_err()
if err != nil {
t.Error("TestConnect_WithApplicationName_err() error: ", err)
}
}