trying around with different routing and controller structures
This commit is contained in:
@@ -2,8 +2,9 @@ package database
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"slices"
|
||||
"wagfarm-api/models"
|
||||
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
@@ -11,7 +12,9 @@ import (
|
||||
|
||||
var DB *gorm.DB
|
||||
|
||||
func Connect() {
|
||||
func Connect() error {
|
||||
var err error
|
||||
var db *gorm.DB
|
||||
dbUser := os.Getenv("DB_USER")
|
||||
dbPassword := os.Getenv("DB_PASSWORD")
|
||||
dbHost := os.Getenv("DB_HOST")
|
||||
@@ -23,10 +26,26 @@ func Connect() {
|
||||
dbUser, dbPassword, dbHost, dbPort, dbName,
|
||||
)
|
||||
|
||||
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
||||
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to connect to database: %v", err)
|
||||
return fmt.Errorf("failed to connect to database: %w", err)
|
||||
}
|
||||
|
||||
DB = db
|
||||
return nil
|
||||
}
|
||||
func Migrate() error {
|
||||
var err error
|
||||
err = DB.AutoMigrate(slices.Concat(
|
||||
models.LogModels, models.AssetModels, models.TaxonomyModels))
|
||||
if err != nil {
|
||||
return fmt.Errorf("auto migration failed: %w", err)
|
||||
}
|
||||
|
||||
err = DB.SetupJoinTable(&models.Fertilizer{}, "Ingredients", &models.FertilizerIngredient{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to setup join table for FertilizerAsset and Ingredients: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user