letzes struct aus gsmaster nach models migriert
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"bamort/gsmaster"
|
||||
"bamort/importer"
|
||||
_ "bamort/maintenance" // Anonymous import to ensure init() is called
|
||||
"bamort/models"
|
||||
"bamort/router"
|
||||
"bamort/skills"
|
||||
"bamort/user"
|
||||
@@ -60,7 +61,7 @@ func TestSetupCheck(t *testing.T) {
|
||||
err = user.MigrateStructure()
|
||||
assert.NoError(t, err, "No error expected when migrating user tables")
|
||||
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err, "No error expected when migrating gsmaster tables")
|
||||
|
||||
err = equipment.MigrateStructure()
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"bamort/database"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
|
||||
@@ -28,7 +27,7 @@ func TestImproveSkillHandler(t *testing.T) {
|
||||
// Also migrate skills and equipment to avoid preload errors
|
||||
err = skills.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Create test character with ID 20
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
@@ -30,7 +31,7 @@ func TestImprovedSkillCostAPI(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
err = equipment.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Create test skill data
|
||||
@@ -610,7 +611,7 @@ func TestGetLernCostEndpoint(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
err = equipment.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
/*
|
||||
// Create test skill data
|
||||
|
||||
@@ -3,7 +3,6 @@ package character
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
"bytes"
|
||||
@@ -31,7 +30,7 @@ func TestPracticePointsAPI(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
err = equipment.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Create test skill data
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"bamort/database"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
|
||||
@@ -28,7 +27,7 @@ func TestImproveSkillUpdatesLevel(t *testing.T) {
|
||||
// Also migrate skills and equipment to avoid preload errors
|
||||
err = skills.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Try to migrate equipment if it exists
|
||||
|
||||
@@ -3,7 +3,6 @@ package character
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
"bytes"
|
||||
@@ -29,7 +28,7 @@ func TestSpellCategoryMapping(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
err = equipment.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure()
|
||||
err = models.MigrateStructure()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Create test skill data
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"bamort/character"
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
"bamort/user"
|
||||
"fmt"
|
||||
@@ -52,9 +52,9 @@ func main() {
|
||||
return
|
||||
}
|
||||
|
||||
err = gsmaster.MigrateStructure(secondDB)
|
||||
err = models.MigrateStructure(secondDB)
|
||||
if err != nil {
|
||||
fmt.Printf("Fehler bei gsmaster Migration: %v\n", err)
|
||||
fmt.Printf("Fehler bei models Migration: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ func migrateAllToSecondDB(db *gorm.DB) error {
|
||||
database.MigrateStructure,
|
||||
user.MigrateStructure,
|
||||
character.MigrateStructure,
|
||||
gsmaster.MigrateStructure,
|
||||
models.MigrateStructure,
|
||||
equipment.MigrateStructure,
|
||||
skills.MigrateStructure,
|
||||
}
|
||||
|
||||
@@ -1,25 +1 @@
|
||||
package gsmaster
|
||||
|
||||
import (
|
||||
"bamort/database"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func MigrateStructure(db ...*gorm.DB) error {
|
||||
// Use provided DB or default to database.DB
|
||||
var targetDB *gorm.DB
|
||||
if len(db) > 0 && db[0] != nil {
|
||||
targetDB = db[0]
|
||||
} else {
|
||||
targetDB = database.DB
|
||||
}
|
||||
|
||||
err := targetDB.AutoMigrate(
|
||||
&Believe{},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package gsmaster
|
||||
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/models"
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -46,6 +47,6 @@ func TestImportGSMasterdata(t *testing.T) {
|
||||
|
||||
func TestMigrateStructure(t *testing.T) {
|
||||
database.SetupTestDB(true) // Use in-memory SQLite for testing
|
||||
err := MigrateStructure()
|
||||
err := models.MigrateStructure()
|
||||
assert.NoError(t, err, "expected no Error during MigrateStructure")
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ type exportData struct {
|
||||
Weapons []models.Weapon `json:"weapons"`
|
||||
Containers []models.Container `json:"containers"`
|
||||
Transportations []models.Container `json:"transportations"`
|
||||
Believes []Believe `json:"believes"`
|
||||
Believes []models.Believe `json:"believes"`
|
||||
}
|
||||
|
||||
func Export(filePath string) error {
|
||||
@@ -30,7 +30,7 @@ func Export(filePath string) error {
|
||||
var weapons []models.Weapon
|
||||
var containers []models.Container
|
||||
var transportations []models.Container
|
||||
var believes []Believe
|
||||
var believes []models.Believe
|
||||
|
||||
// Fetch all data from the respective tables
|
||||
if err := database.DB.Find(&skills).Error; err != nil {
|
||||
|
||||
@@ -744,7 +744,7 @@ func TestGetSpellInfo(t *testing.T) {
|
||||
// Initialize test database with migration (but no test data since we don't have the preparedTestDB file)
|
||||
database.SetupTestDB(true, false) // Use in-memory SQLite, no test data loading
|
||||
defer database.ResetTestDB()
|
||||
MigrateStructure()
|
||||
models.MigrateStructure()
|
||||
|
||||
// Create minimal test spell data for our test
|
||||
testSpells := []models.Spell{
|
||||
@@ -850,7 +850,7 @@ func TestCalcSpellLernCostWithRewards(t *testing.T) {
|
||||
// Initialize test database with migration (but no test data since we don't have the preparedTestDB file)
|
||||
database.SetupTestDB(true, false) // Use in-memory SQLite, no test data loading
|
||||
defer database.ResetTestDB()
|
||||
MigrateStructure()
|
||||
models.MigrateStructure()
|
||||
|
||||
// Create minimal test spell data for our test
|
||||
testSpells := []models.Spell{
|
||||
|
||||
@@ -2,6 +2,7 @@ package gsmaster
|
||||
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/models"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
@@ -47,7 +48,7 @@ func setupTestDB(opts ...bool) {
|
||||
database.DB = db
|
||||
}
|
||||
if !migrationDone {
|
||||
err := MigrateStructure()
|
||||
err := models.MigrateStructure()
|
||||
if err != nil {
|
||||
panic("failed to MigrateStructure")
|
||||
}
|
||||
|
||||
@@ -1,62 +1 @@
|
||||
package gsmaster
|
||||
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/models"
|
||||
"fmt"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
var dbPrefix = "gsm"
|
||||
|
||||
type Believe struct {
|
||||
models.LookupList
|
||||
}
|
||||
|
||||
func (object *Believe) TableName() string {
|
||||
return dbPrefix + "_" + "believes"
|
||||
}
|
||||
|
||||
func (stamm *Believe) Create() error {
|
||||
gameSystem := "midgard"
|
||||
stamm.GameSystem = gameSystem
|
||||
err := database.DB.Transaction(func(tx *gorm.DB) error {
|
||||
// Save the main character record
|
||||
if err := tx.Create(&stamm).Error; err != nil {
|
||||
return fmt.Errorf("failed to save Lookup: %w", err)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (object *Believe) FirstId(value uint) error {
|
||||
gameSystem := "midgard"
|
||||
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (stamm *Believe) First(name string) error {
|
||||
gameSystem := "midgard"
|
||||
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (object *Believe) Save() error {
|
||||
err := database.DB.Save(&object).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package importer
|
||||
|
||||
import (
|
||||
"bamort/database"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"fmt"
|
||||
"testing"
|
||||
@@ -508,12 +507,12 @@ func TestImportBelieve2GSMaster(t *testing.T) {
|
||||
assert.Equal(t, "", skill.Beschreibung)
|
||||
assert.Equal(t, "", skill.Quelle)
|
||||
//}
|
||||
skill2 := gsmaster.Believe{}
|
||||
skill2 := models.Believe{}
|
||||
erro = skill2.First("Torkin")
|
||||
assert.NoError(t, erro, "Expected no error when finding Record by name")
|
||||
assert.Equal(t, 1, int(skill.ID))
|
||||
|
||||
skill3 := gsmaster.Believe{}
|
||||
skill3 := models.Believe{}
|
||||
erro = skill3.FirstId(1)
|
||||
assert.NoError(t, erro, "Expected no error when finding Record by ID")
|
||||
assert.Equal(t, "Torkin", skill3.Name)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package importer
|
||||
|
||||
import (
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"fmt"
|
||||
"regexp"
|
||||
@@ -382,8 +381,8 @@ func TransformImportEquipment2GSDMaster(object *Ausruestung) (*models.Equipment,
|
||||
return &gsmobj, nil
|
||||
}
|
||||
|
||||
func TransformImportBelieve2GSDMaster(object string) (*gsmaster.Believe, error) {
|
||||
gsmobj := gsmaster.Believe{}
|
||||
func TransformImportBelieve2GSDMaster(object string) (*models.Believe, error) {
|
||||
gsmobj := models.Believe{}
|
||||
|
||||
err := gsmobj.First(object)
|
||||
// if found check if we need to adjust masterdata
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"bamort/character"
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/importer"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
@@ -50,7 +49,7 @@ func migrateAllStructures(db *gorm.DB) error {
|
||||
if err := character.MigrateStructure(db); err != nil {
|
||||
return fmt.Errorf("failed to migrate character structures: %w", err)
|
||||
}
|
||||
if err := gsmaster.MigrateStructure(db); err != nil {
|
||||
if err := models.MigrateStructure(db); err != nil {
|
||||
return fmt.Errorf("failed to migrate gsmaster structures: %w", err)
|
||||
}
|
||||
if err := equipment.MigrateStructure(db); err != nil {
|
||||
@@ -175,7 +174,7 @@ func copyAllDataToTestDB(liveDB, testDB *gorm.DB) (map[string]int, error) {
|
||||
}
|
||||
stats["gsmaster_transportation"] = count
|
||||
|
||||
count, err = copyTableDataWithCount(liveDB, testDB, &gsmaster.Believe{})
|
||||
count, err = copyTableDataWithCount(liveDB, testDB, &models.Believe{})
|
||||
if err != nil {
|
||||
return stats, err
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"bamort/character"
|
||||
"bamort/database"
|
||||
"bamort/equipment"
|
||||
"bamort/gsmaster"
|
||||
"bamort/models"
|
||||
"bamort/skills"
|
||||
"bamort/user"
|
||||
@@ -96,7 +95,7 @@ func TestMakeTestdataFromLiveRewrite(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = character.MigrateStructure(liveDB)
|
||||
require.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure(liveDB)
|
||||
err = models.MigrateStructure(liveDB)
|
||||
require.NoError(t, err)
|
||||
err = skills.MigrateStructure(liveDB)
|
||||
require.NoError(t, err)
|
||||
@@ -118,7 +117,7 @@ func TestMakeTestdataFromLiveRewrite(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = character.MigrateStructure(testDb)
|
||||
require.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure(testDb)
|
||||
err = models.MigrateStructure(testDb)
|
||||
require.NoError(t, err)
|
||||
err = skills.MigrateStructure(testDb)
|
||||
require.NoError(t, err)
|
||||
@@ -181,7 +180,7 @@ func TestLoadPredefinedTestDataFromFile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = character.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure(sourceDB)
|
||||
err = models.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
err = skills.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
@@ -216,7 +215,7 @@ func TestLoadPredefinedTestDataFromFile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = character.MigrateStructure(targetDB)
|
||||
require.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure(targetDB)
|
||||
err = models.MigrateStructure(targetDB)
|
||||
require.NoError(t, err)
|
||||
err = skills.MigrateStructure(targetDB)
|
||||
require.NoError(t, err)
|
||||
@@ -294,7 +293,7 @@ func TestSetupTestDBWithTestData(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = character.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
err = gsmaster.MigrateStructure(sourceDB)
|
||||
err = models.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
err = skills.MigrateStructure(sourceDB)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -23,9 +23,7 @@ func MigrateStructure(db ...*gorm.DB) error {
|
||||
&Weapon{},
|
||||
&Container{},
|
||||
&Transportation{},
|
||||
/*
|
||||
&Believe{},
|
||||
*/
|
||||
&Believe{},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -92,6 +92,10 @@ type Transportation struct {
|
||||
Container
|
||||
}
|
||||
|
||||
type Believe struct {
|
||||
LookupList
|
||||
}
|
||||
|
||||
func (object *LookupList) Create() error {
|
||||
gameSystem := "midgard"
|
||||
object.GameSystem = gameSystem
|
||||
@@ -539,3 +543,51 @@ func (object *Transportation) Save() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (object *Believe) TableName() string {
|
||||
dbPrefix := "gsm"
|
||||
return dbPrefix + "_" + "believes"
|
||||
}
|
||||
|
||||
func (stamm *Believe) Create() error {
|
||||
gameSystem := "midgard"
|
||||
stamm.GameSystem = gameSystem
|
||||
err := database.DB.Transaction(func(tx *gorm.DB) error {
|
||||
// Save the main character record
|
||||
if err := tx.Create(&stamm).Error; err != nil {
|
||||
return fmt.Errorf("failed to save Lookup: %w", err)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (object *Believe) FirstId(value uint) error {
|
||||
gameSystem := "midgard"
|
||||
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (stamm *Believe) First(name string) error {
|
||||
gameSystem := "midgard"
|
||||
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (object *Believe) Save() error {
|
||||
err := database.DB.Save(&object).Error
|
||||
if err != nil {
|
||||
// zauber found
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user