1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-25 23:02:22 +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" "errors"
"github.com/ManyakRus/starter/logger" "github.com/ManyakRus/starter/logger"
"github.com/ManyakRus/starter/ping" "github.com/ManyakRus/starter/ping"
"strings"
"time" "time"
//"github.com/jackc/pgconn" //"github.com/jackc/pgconn"
@@ -73,6 +74,14 @@ func Connect() {
// Connect_err - подключается к базе данных // Connect_err - подключается к базе данных
func Connect_err() error { func Connect_err() error {
var 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 == "" { if Settings.DB_HOST == "" {
FillSettings() FillSettings()
@@ -84,7 +93,7 @@ func Connect_err() error {
//defer cancel() //defer cancel()
// get the database connection URL. // get the database connection URL.
dsn := GetDSN() dsn := GetDSN(ApplicationName)
// //
conf := &gorm.Config{} 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 загружает переменные окружения в структуру из файла или из переменных окружения // FillSettings загружает переменные окружения в структуру из файла или из переменных окружения
func FillSettings() { func FillSettings() {
Settings = SettingsINI{} Settings = SettingsINI{}
@@ -298,12 +319,15 @@ func FillSettings() {
} }
// GetDSN - возвращает строку соединения к базе данных // GetDSN - возвращает строку соединения к базе данных
func GetDSN() string { func GetDSN(ApplicationName string) string {
ApplicationName = strings.ReplaceAll(ApplicationName, " ", "_")
dsn := "host=" + Settings.DB_HOST + " " dsn := "host=" + Settings.DB_HOST + " "
dsn += "user=" + Settings.DB_USER + " " dsn += "user=" + Settings.DB_USER + " "
dsn += "password=" + Settings.DB_PASSWORD + " " dsn += "password=" + Settings.DB_PASSWORD + " "
dsn += "dbname=" + Settings.DB_NAME + " " 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 return dsn
} }

View File

@@ -15,9 +15,6 @@ import (
) )
func TestConnect_err(t *testing.T) { func TestConnect_err(t *testing.T) {
//Connect_Panic()
//ProgramDir := micro.ProgramDir_Common()
config.LoadEnv() config.LoadEnv()
err := Connect_err() err := Connect_err()
if err != nil { if err != nil {
@@ -106,3 +103,19 @@ func TestGetConnection(t *testing.T) {
CloseConnection() 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)
}
}