From d5e23dcd03e54849c3ccba3de6776bc9964a90b3 Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Sun, 7 May 2023 19:18:41 +0200 Subject: [PATCH] Initialized database --- src/myaktion/db/db.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/myaktion/db/db.go diff --git a/src/myaktion/db/db.go b/src/myaktion/db/db.go new file mode 100644 index 0000000..2321e4c --- /dev/null +++ b/src/myaktion/db/db.go @@ -0,0 +1,31 @@ +package db + +import ( + "fmt" + "os" + + log "github.com/sirupsen/logrus" + "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/model" + "gorm.io/driver/mysql" + "gorm.io/gorm" +) + +var DB *gorm.DB + +func init() { + dsn := fmt.Sprintf("root:root@tcp(%s)/myaktion?charset=utf8&parseTime=True&loc=Local", os.Getenv("DB_CONNECT")) + log.Info("Using DSN for DB:", dsn) + var err error + DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{}) + if err != nil { + panic("failed to connect to database") + } + log.Info("Starting automatic migrations") + if err := DB.Debug().AutoMigrate(&model.Campaign{}); err != nil { + panic(err) + } + if err := DB.Debug().AutoMigrate(&model.Donation{}); err != nil { + panic(err) + } + log.Info("Automatic migrations finished") +} -- GitLab