| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package db
- import (
- "fmt"
- "log"
- "os"
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- )
- func getDSN() string {
- return fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
- os.Getenv("DB_USER"),
- os.Getenv("DB_PASSWORD"),
- os.Getenv("DB_HOST"),
- os.Getenv("DB_PORT"),
- os.Getenv("DB_NAME"),
- )
- }
- var DB *gorm.DB
- func DBConnection() {
- var err error
- DSN := getDSN()
- DB, err = gorm.Open(mysql.Open(DSN), &gorm.Config{})
- if err != nil {
- log.Printf("Error al conectar a la base de datos: %v", err)
- return // Manejar el error adecuadamente
- }
- log.Println("DB connected")
- }
- // AutoMigrate realiza la migración de los modelos
- func AutoMigrate(models ...interface{}) {
- err := DB.AutoMigrate(models...)
- if err != nil {
- log.Fatal("Error al realizar la migration:", err)
- }
- }
|