diff --git a/database/createInstance.go b/database/createInstance.go new file mode 100644 index 0000000000000000000000000000000000000000..509ac931526a115686d4f03e7a2f51de10d82491 --- /dev/null +++ b/database/createInstance.go @@ -0,0 +1,42 @@ +package database + +import ( + "os" + + "gorm.io/gorm" + "jonasled.dev/jonasled/ems-esp-logger/database/tables" + "jonasled.dev/jonasled/ems-esp-logger/log" +) + +func CreateInstance() { + instanceName := os.Getenv("INSTANCE_NAME") + instanceDescription := os.Getenv("INSTANCE_DESCRIPTION") + if instanceName == "" || instanceDescription == "" { + log.Log.Fatal("INSTANCE_NAME and INSTANCE_DESCRIPTION must be set") + } + var instance tables.Instance + err := Db.Where("name = ?", instanceName).First(&instance).Error + + if err != nil { + if err == gorm.ErrRecordNotFound { + // Create a new instance if it doesn't exist + instance = tables.Instance{ + Name: instanceName, + Description: instanceDescription, + } + if err := Db.Create(&instance).Error; err != nil { + log.Log.Fatalf("Failed to create instance: %v", err) + } + log.Log.Infof("Created new instance: %+v\n", instance) + } else { + log.Log.Fatalf("Failed to query database: %v", err) + } + } else { + // Update the description if the instance exists + instance.Description = instanceDescription + if err := Db.Save(&instance).Error; err != nil { + log.Log.Fatalf("Failed to update instance description: %v", err) + } + log.Log.Infof("Updated instance description: %+v\n", instance) + } +} diff --git a/database/main.go b/database/main.go index 2b62e9d28f2d61a424dd6805cb25f60257e63f81..93b69595482730be07f903adb3dcfc808e7a9480 100644 --- a/database/main.go +++ b/database/main.go @@ -53,36 +53,3 @@ func Init() { Db.AutoMigrate(&tables.Instance{}, &tables.ValueType{}, &tables.Value{}) } } - -func CreateInstance() { - instanceName := os.Getenv("INSTANCE_NAME") - instanceDescription := os.Getenv("INSTANCE_DESCRIPTION") - if instanceName == "" || instanceDescription == "" { - log.Log.Fatal("INSTANCE_NAME and INSTANCE_DESCRIPTION must be set") - } - var instance tables.Instance - err := Db.Where("name = ?", instanceName).First(&instance).Error - - if err != nil { - if err == gorm.ErrRecordNotFound { - // Create a new instance if it doesn't exist - instance = tables.Instance{ - Name: instanceName, - Description: instanceDescription, - } - if err := Db.Create(&instance).Error; err != nil { - log.Log.Fatalf("Failed to create instance: %v", err) - } - log.Log.Infof("Created new instance: %+v\n", instance) - } else { - log.Log.Fatalf("Failed to query database: %v", err) - } - } else { - // Update the description if the instance exists - instance.Description = instanceDescription - if err := Db.Save(&instance).Error; err != nil { - log.Log.Fatalf("Failed to update instance description: %v", err) - } - log.Log.Infof("Updated instance description: %+v\n", instance) - } -}