database setup
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,6 +1,9 @@
|
||||
# ---> Go
|
||||
# If you prefer the allow list template instead of the deny list, see community template:
|
||||
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
|
||||
# Manual
|
||||
go-crud
|
||||
.env
|
||||
#
|
||||
# Binaries for programs and plugins
|
||||
*.exe
|
||||
|
||||
21
initializers/database.go
Normal file
21
initializers/database.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package initializers
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
|
||||
func ConnectToDB() {
|
||||
var err error
|
||||
dsn := os.Getenv("DB_URL")
|
||||
DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Fail to connect to DB")
|
||||
}
|
||||
}
|
||||
16
initializers/loadEnvVariables.go
Normal file
16
initializers/loadEnvVariables.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package initializers
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func LoadEnvVariables() {
|
||||
err := godotenv.Load()
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
|
||||
}
|
||||
10
main.go
10
main.go
@@ -1,19 +1,15 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"gitea.sitodosi.com/betology/go-crud/initializers"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func init() {
|
||||
err := godotenv.Load()
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
|
||||
initializers.LoadEnvVariables()
|
||||
initializers.ConnectToDB()
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
Reference in New Issue
Block a user