33 lines
594 B
Go
33 lines
594 B
Go
package repository
|
|
|
|
import (
|
|
"log"
|
|
|
|
"gorm.io/driver/sqlite"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var db *gorm.DB
|
|
|
|
func init() {
|
|
var err error
|
|
|
|
// Open connection to sqlite
|
|
db, err = gorm.Open(sqlite.Open("qrank.db"), &gorm.Config{})
|
|
if err != nil {
|
|
log.Fatal("Sqlite connect:", err)
|
|
}
|
|
|
|
// Migrate the database with gorm
|
|
if err := db.AutoMigrate(&User{}, &LoginToken{}, &Table{}, &Game{}, &GameUser{}); err != nil {
|
|
log.Fatal("Migrate:", err)
|
|
}
|
|
if err := db.SetupJoinTable(&User{}, "Games", &GameUser{}); err != nil {
|
|
log.Fatal("Setup jointable:", err)
|
|
}
|
|
}
|
|
|
|
func GetDB() *gorm.DB {
|
|
return db
|
|
}
|