package models import ( "InfrantrySkillCalculator/utils" "gorm.io/driver/sqlite" "gorm.io/gorm" "gorm.io/gorm/logger" "log" ) var DB *gorm.DB func ConnectDatabase() { database, err := gorm.Open(sqlite.Open("isc_data.db"), &gorm.Config{ Logger: logger.Default.LogMode(logger.Silent), SkipDefaultTransaction: true, PrepareStmt: true, }) if err != nil { panic("Failed to connect to database! " + err.Error()) } err = database.AutoMigrate(&Clan{}) if err != nil { log.Fatal(err) } err = database.AutoMigrate(&Player{}) if err != nil { log.Fatal(err) } //database.AutoMigrate(&PlayerCache{}) err = database.AutoMigrate(&User{}) if err != nil { log.Fatal(err) } err = database.AutoMigrate(&ActivationCode{}) if err != nil { log.Fatal(err) } else { var code ActivationCode if err := database.First(&code).Error; err != nil { firstCode := utils.GenerateActivationCode() database.Create(&ActivationCode{Code: firstCode, Used: false}) log.Println("Created first activation code: " + firstCode) } } //database.AutoMigrate(&Game{}) //database.AutoMigrate(&MetricSettings{}) DB = database }