workshop/internal/models/db.go
Dmitry Sirotkin 2534bd9e7f
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 1m0s
1 +
2 +-
3
4
5
2025-03-25 21:30:30 +03:00

40 lines
777 B
Go

package models
import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
"github.com/joho/godotenv"
"os"
)
var db *gorm.DB //База данных
func init() {
e := godotenv.Load()
if e != nil {
fmt.Print(e)
}
username := os.Getenv("DB_USER")
password := os.Getenv("DB_PASS")
dbName := os.Getenv("DB_NAME")
dbHost := os.Getenv("DB_HOST")
dbUri := fmt.Sprintf("host=%s user=%s dbname=%s sslmode=disable password=%s", dbHost, username, dbName, password)
fmt.Println(dbUri)
conn, err := gorm.Open("postgres", dbUri)
if err != nil {
fmt.Print(err)
}
db = conn
db.Debug().AutoMigrate(&Service{}, &Bonuse{}, &Client{}, &Contact{}, &Vehicle{}) //Миграция базы данных
}
func GetDB() *gorm.DB {
return db
}