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:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user