mirror of
https://github.com/ManyakRus/starter.git
synced 2025-11-28 23:20:10 +02:00
сделал Connect_WithApplicationName_err()
This commit is contained in:
@@ -110,29 +110,6 @@ func FindDateFromTo(Connection connections.Connection) (date1_balances, date2_ba
|
|||||||
|
|
||||||
date1_balances, date2_balances, date1_doc, date2_doc = FindDates_from_DateClosed(date_closed)
|
date1_balances, date2_balances, date1_doc, date2_doc = FindDates_from_DateClosed(date_closed)
|
||||||
|
|
||||||
//// 2 месяца разделим по 1 месяцу
|
|
||||||
//carbon.SetLocation(constants.Loc)
|
|
||||||
//Date1_balance := DateNow1
|
|
||||||
//Date2_balance := carbon.Time2Carbon(DateNow1).EndOfMonth().Carbon2Time()
|
|
||||||
//if Date2_balance.After(DateNow2) {
|
|
||||||
// Date2_balance = DateNow2
|
|
||||||
//}
|
|
||||||
//Date1_doc := carbon.Time2Carbon(DateNow2).StartOfMonth().Carbon2Time()
|
|
||||||
//Date2_doc := DateNow2
|
|
||||||
//
|
|
||||||
//
|
|
||||||
////now := time.Now()
|
|
||||||
//now_start := carbon.Now().StartOfMonth().Carbon2Time()
|
|
||||||
//closed_start := carbon.Time2Carbon(date_closed).AddMonth().StartOfMonth().Carbon2Time()
|
|
||||||
////closed_start := carbon.Time2Carbon(date_closed).StartOfMonth().Carbon2Time()
|
|
||||||
//if now_start == closed_start { //дата закрытия в этом же месяце
|
|
||||||
// date_from = now_start
|
|
||||||
// date_to = carbon.Now().EndOfMonth().Carbon2Time()
|
|
||||||
//} else {
|
|
||||||
// date_from = closed_start
|
|
||||||
// date_to = carbon.Now().EndOfMonth().Carbon2Time()
|
|
||||||
//}
|
|
||||||
|
|
||||||
return date1_balances, date2_balances, date1_doc, date2_doc, nil
|
return date1_balances, date2_balances, date1_doc, date2_doc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"github.com/ManyakRus/starter/logger"
|
"github.com/ManyakRus/starter/logger"
|
||||||
"github.com/ManyakRus/starter/ping"
|
"github.com/ManyakRus/starter/ping"
|
||||||
"github.com/jackc/pgx/v4"
|
"github.com/jackc/pgx/v4"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
//"github.com/jackc/pgconn"
|
//"github.com/jackc/pgconn"
|
||||||
@@ -72,6 +73,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()
|
||||||
@@ -83,10 +92,10 @@ func Connect_err() error {
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
// get the database connection URL.
|
// get the database connection URL.
|
||||||
databaseUrl := "postgres://" + Settings.DB_USER + ":" + Settings.DB_PASSWORD
|
//databaseUrl := "postgres://" + Settings.DB_USER + ":" + Settings.DB_PASSWORD
|
||||||
databaseUrl += "@" + Settings.DB_HOST + ":" + Settings.DB_PORT + "/" + Settings.DB_NAME
|
//databaseUrl += "@" + Settings.DB_HOST + ":" + Settings.DB_PORT + "/" + Settings.DB_NAME
|
||||||
|
|
||||||
//log.Info("BD_ADDRESS: ", Settings.DB_HOST, " BD_BASENAME: ", Settings.DB_NAME, " BD_SCHEMA: ", Settings.DB_SCHEMA)
|
databaseUrl := GetConnectionString(ApplicationName)
|
||||||
|
|
||||||
//
|
//
|
||||||
config, err := pgx.ParseConfig(databaseUrl)
|
config, err := pgx.ParseConfig(databaseUrl)
|
||||||
@@ -97,16 +106,6 @@ func Connect_err() error {
|
|||||||
log.Panicln("Unable to connect to database host: ", Settings.DB_HOST, " Error: ", err)
|
log.Panicln("Unable to connect to database host: ", Settings.DB_HOST, " Error: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
//// get the database connection URL.
|
|
||||||
//databaseUrl := "postgres://" + Settings.DB_USER + ":" + Settings.DB_PASSWORD
|
|
||||||
//databaseUrl += "@" + Settings.DB_HOST + ":5432/" + Settings.DB_NAME + "?sslmode=disable"
|
|
||||||
//
|
|
||||||
////
|
|
||||||
////Conn, err = pgx.Connect(ctx, databaseUrl)
|
|
||||||
//Conn, err = sqlx.Connect(
|
|
||||||
// "postgres",
|
|
||||||
// databaseUrl,
|
|
||||||
//)
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = Conn.Ping(ctx)
|
err = Conn.Ping(ctx)
|
||||||
}
|
}
|
||||||
@@ -114,6 +113,20 @@ func Connect_err() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetConnectionString - возвращает строку соединения к базе данных
|
||||||
|
func GetConnectionString(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 += "application_name=" + ApplicationName
|
||||||
|
|
||||||
|
return dsn
|
||||||
|
}
|
||||||
|
|
||||||
// IsClosed проверка что база данных закрыта
|
// IsClosed проверка что база данных закрыта
|
||||||
func IsClosed() bool {
|
func IsClosed() bool {
|
||||||
var otvet bool
|
var otvet bool
|
||||||
@@ -173,13 +186,6 @@ func Reconnect(err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//PgError, ok := err.(*pgconn.PgError)
|
|
||||||
//if ok {
|
|
||||||
// if PgError.Code == "P0001" { // Class P0 — PL/pgSQL Error, RaiseException
|
|
||||||
// return //нужен
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
//остановим программу т.к. она не должна работать при неработающеё БД
|
//остановим программу т.к. она не должна работать при неработающеё БД
|
||||||
log.Error("STOP app. Error: ", err)
|
log.Error("STOP app. Error: ", err)
|
||||||
stopapp.StopApp()
|
stopapp.StopApp()
|
||||||
@@ -243,6 +249,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{}
|
||||||
|
|||||||
@@ -99,3 +99,15 @@ func TestConnect(t *testing.T) {
|
|||||||
|
|
||||||
CloseConnection()
|
CloseConnection()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConnect_WithApplicationName_err(t *testing.T) {
|
||||||
|
|
||||||
|
config.LoadEnv()
|
||||||
|
err := Connect_WithApplicationName_err("test_starter_postgres_pgx")
|
||||||
|
if err != nil {
|
||||||
|
t.Error("TestConnect_WithApplicationName_err error: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseConnection()
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user