Files
InfantrySkillCalculator/models/setup.go

53 lines
1.1 KiB
Go

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
}