Files
bamort/backend/tests/initTasks.go
T
Frank 30a990b0cf Character display
added FeChar (FrontEndCharacter)
added marker for innate skills (angeborene Fertigkeiten) and category
added selector for innate skills at import
added marker for improvable skills
TestGetCharacters against real database
changed favicon
server frontend on '192.168.0.48', 'localhost','terrra.local'
added view DeleteCharView
fixed errors on rendering datasheetview
serve backend on 192.168.0.48
2025-01-18 20:59:35 +01:00

78 lines
1.5 KiB
Go

package tests
import (
"bamort/character"
"bamort/database"
"bamort/equipment"
"bamort/gsmaster"
"bamort/importer"
"bamort/skills"
"bamort/user"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
var migrationDone bool
// SetupTestDB creates an in-memory SQLite database for testing
func SetupTestDB() {
if database.DB == nil {
//*
db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
if err != nil {
panic("failed to connect to the test database")
}
//*/
/* //testin with persitant MariaDB
dsn := "bamort:bG4)efozrc@tcp(192.168.0.5:3306)/bamort?charset=utf8mb4&parseTime=True&loc=Local"
//dsn := "root:26Osiris-Mar@tcp(192.168.0.5:3306)/bamort?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect to the test database")
}
//*/
database.DB = db
}
if !migrationDone {
err := MigrateStructure()
if err != nil {
panic("failed to MigrateStructure")
}
}
}
func MigrateStructure() error {
err := database.MigrateStructure()
if err != nil {
return err
}
err = character.MigrateStructure()
if err != nil {
return err
}
err = equipment.MigrateStructure()
if err != nil {
return err
}
err = gsmaster.MigrateStructure()
if err != nil {
return err
}
err = importer.MigrateStructure()
if err != nil {
return err
}
err = skills.MigrateStructure()
if err != nil {
return err
}
err = user.MigrateStructure()
if err != nil {
return err
}
migrationDone = true
return nil
}