debug
This commit is contained in:
@@ -2,9 +2,12 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"api/src/initializers"
|
"api/src/initializers"
|
||||||
|
"log/slog"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
slog.Info("Start")
|
||||||
initializers.InitChiRouting()
|
initializers.InitChiRouting()
|
||||||
initializers.InitDBconnection()
|
initializers.InitDBconnection()
|
||||||
|
slog.Info("End")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"github.com/ilyakaznacheev/cleanenv"
|
"github.com/ilyakaznacheev/cleanenv"
|
||||||
"gorm.io/driver/postgres"
|
"gorm.io/driver/postgres"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
"gorm.io/gorm/logger"
|
||||||
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ import (
|
|||||||
var cfg *configs.PSQLConfig
|
var cfg *configs.PSQLConfig
|
||||||
|
|
||||||
func InitDBconnection() {
|
func InitDBconnection() {
|
||||||
|
slog.Info("Init DB connection")
|
||||||
cleanenv.ReadEnv(&cfg)
|
cleanenv.ReadEnv(&cfg)
|
||||||
dsn := fmt.Sprintf(
|
dsn := fmt.Sprintf(
|
||||||
"host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg",
|
"host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg",
|
||||||
@@ -29,21 +31,39 @@ func InitDBconnection() {
|
|||||||
cfg.Db_name,
|
cfg.Db_name,
|
||||||
cfg.Db_port,
|
cfg.Db_port,
|
||||||
)
|
)
|
||||||
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
|
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||||
|
Logger: logger.Default.LogMode(logger.Info),
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("failed to connect database", "error", err)
|
slog.Error("failed to connect database", "error", err)
|
||||||
os.Exit(2)
|
os.Exit(2)
|
||||||
}
|
}
|
||||||
psql.PSQL_GORM_DB = db
|
psql.PSQL_GORM_DB = db
|
||||||
|
sql, err := db.DB()
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("failed to get database", "error", err)
|
||||||
|
os.Exit(2)
|
||||||
|
}
|
||||||
|
err = sql.Ping()
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("failed to ping database", "error", err)
|
||||||
|
os.Exit(2)
|
||||||
|
}
|
||||||
slog.Info("connected to database")
|
slog.Info("connected to database")
|
||||||
|
db.Logger = logger.Default.LogMode(logger.Info)
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitChiRouting() {
|
func InitChiRouting() {
|
||||||
|
slog.Info("Init routing")
|
||||||
r := chi.NewRouter()
|
r := chi.NewRouter()
|
||||||
r.Use(middleware.Logger)
|
r.Use(middleware.Logger)
|
||||||
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Write([]byte("welcome developer"))
|
w.Write([]byte("welcome developer! Cool. Are you debugging?"))
|
||||||
})
|
})
|
||||||
http.ListenAndServe(":8000", r)
|
err := http.ListenAndServe(":"+os.Getenv("SERVER_PORT"), r)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("failed to start server", "error", err)
|
||||||
|
os.Exit(2)
|
||||||
|
}
|
||||||
|
slog.Info("Server start on PORT: " + os.Getenv("SERVER_PORT"))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ services:
|
|||||||
- .:/usr/src/app
|
- .:/usr/src/app
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
command: ./bin/api.exe
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres-db:
|
postgres-db:
|
||||||
Reference in New Issue
Block a user