renamed models.SkillImprovementCost2 to models.SkillImprovementCost

This commit is contained in:
2026-02-01 13:33:04 +01:00
parent 39659bcb3e
commit e1a146e03f
12 changed files with 32 additions and 44 deletions
+4 -4
View File
@@ -1254,7 +1254,7 @@ func ImportSpellLevelLECosts(inputDir string) error {
// ExportSkillImprovementCosts exports all skill improvement costs to a JSON file
func ExportSkillImprovementCosts(outputDir string) error {
var costs []models.SkillImprovementCost2
var costs []models.SkillImprovementCost
if err := database.DB.Find(&costs).Error; err != nil {
return fmt.Errorf("failed to fetch skill improvement costs: %w", err)
}
@@ -1332,13 +1332,13 @@ func ImportSkillImprovementCosts(inputDir string) error {
exp.SkillName, exp.CategoryName, exp.DifficultyName, err)
}
// Find or create SkillImprovementCost2 using category/difficulty IDs
var cost models.SkillImprovementCost2
// Find or create SkillImprovementCost using category/difficulty IDs
var cost models.SkillImprovementCost
result := database.DB.Where("skill_category_id = ? AND skill_difficulty_id = ? AND current_level = ?",
categoryID, difficultyID, exp.CurrentLevel).First(&cost)
if result.Error == gorm.ErrRecordNotFound {
cost = models.SkillImprovementCost2{
cost = models.SkillImprovementCost{
CategoryID: categoryID,
DifficultyID: difficultyID,
CurrentLevel: exp.CurrentLevel,
+4 -4
View File
@@ -13,7 +13,7 @@ import (
// ExportSkillImprovementCosts exports all skill improvement costs to a JSON file
func ExportSkillImprovementCosts(outputDir string) error {
var costs []models.SkillImprovementCost2
var costs []models.SkillImprovementCost
if err := database.DB.Find(&costs).Error; err != nil {
return fmt.Errorf("failed to fetch skill improvement costs: %w", err)
}
@@ -93,13 +93,13 @@ func ImportSkillImprovementCosts(inputDir string) error {
exp.SkillName, exp.CategoryName, exp.DifficultyName, err)
}
// Find or create SkillImprovementCost2 using category/difficulty IDs
var cost models.SkillImprovementCost2
// Find or create SkillImprovementCost using category/difficulty IDs
var cost models.SkillImprovementCost
result := database.DB.Where("skill_category_id = ? AND skill_difficulty_id = ? AND current_level = ?",
categoryID, difficultyID, exp.CurrentLevel).First(&cost)
if result.Error == gorm.ErrRecordNotFound {
cost = models.SkillImprovementCost2{
cost = models.SkillImprovementCost{
CategoryID: categoryID,
DifficultyID: difficultyID,
CurrentLevel: exp.CurrentLevel,
+4 -4
View File
@@ -893,8 +893,8 @@ func TestExportImportSkillImprovementCosts(t *testing.T) {
t.Fatalf("Failed to query SkillCategoryDifficulty: %v", err)
}
// Create SkillImprovementCost2 (new model)
improvementCost := models.SkillImprovementCost2{
// Create SkillImprovementCost (new model)
improvementCost := models.SkillImprovementCost{
CategoryID: category.ID,
DifficultyID: difficulty.ID,
CurrentLevel: 15, // Use unique level to avoid conflicts
@@ -924,10 +924,10 @@ func TestExportImportSkillImprovementCosts(t *testing.T) {
t.Fatalf("ImportSkillImprovementCosts failed: %v", err)
}
var imported models.SkillImprovementCost2
var imported models.SkillImprovementCost
result := database.DB.Where("skill_category_id = ? AND skill_difficulty_id = ? AND current_level = ?", category.ID, difficulty.ID, 15).First(&imported)
if result.Error != nil {
t.Fatalf("SkillImprovementCost2 not found after import: %v", result.Error)
t.Fatalf("SkillImprovementCost not found after import: %v", result.Error)
}
// Should be restored to original value from export
@@ -291,7 +291,7 @@ func CreateLearningCostsTables() error {
&models.ClassSpellSchoolEPCost{},
&models.SpellLevelLECost{},
&models.SkillCategoryDifficulty{},
&models.SkillImprovementCost2{},
&models.SkillImprovementCost{},
}
// Erstelle oder migriere alle Tabellen
+2 -2
View File
@@ -475,14 +475,14 @@ func migrateSkillImprovementCosts() error {
// Für jeden Level in TrainCosts
for level, teCost := range data.TrainCosts {
var improvementCost models.SkillImprovementCost2
var improvementCost models.SkillImprovementCost
err := database.DB.Where(
"skill_category_id = ? AND skill_difficulty_id = ? AND current_level = ?",
skillCategory.ID, skillDifficulty.ID, level,
).First(&improvementCost).Error
if err == gorm.ErrRecordNotFound {
improvementCost = models.SkillImprovementCost2{
improvementCost = models.SkillImprovementCost{
CategoryID: skillCategory.ID,
DifficultyID: skillDifficulty.ID,
CurrentLevel: level,
+5 -5
View File
@@ -248,7 +248,7 @@ func copyMariaDBToSQLite(mariaDB, sqliteDB *gorm.DB) error {
&models.SpellLevelLECost{},
&models.SkillCategoryDifficulty{},
&models.WeaponSkillCategoryDifficulty{},
&models.SkillImprovementCost2{},
&models.SkillImprovementCost{},
&models.ClassCategoryLearningPoints{},
&models.ClassSpellPoints{},
&models.ClassTypicalSkill{},
@@ -771,7 +771,7 @@ func copySQLiteToMariaDB(sqliteDB, mariaDB *gorm.DB) error {
&models.SpellLevelLECost{},
&models.SkillCategoryDifficulty{}, // Jetzt nach Skills
&models.WeaponSkillCategoryDifficulty{},
&models.SkillImprovementCost2{},
&models.SkillImprovementCost{},
&models.ClassCategoryLearningPoints{},
&models.ClassSpellPoints{},
&models.ClassTypicalSkill{},
@@ -924,8 +924,8 @@ func copyTableDataReverse(sourceDB, targetDB *gorm.DB, model interface{}) error
return fmt.Errorf("failed to read batch from source: %w", err)
}
records = batch
case *models.SkillImprovementCost2:
var batch []models.SkillImprovementCost2
case *models.SkillImprovementCost:
var batch []models.SkillImprovementCost
if err := sourceDB.Limit(batchSize).Offset(offset).Find(&batch).Error; err != nil {
return fmt.Errorf("failed to read batch from source: %w", err)
}
@@ -1163,7 +1163,7 @@ func clearMariaDBData(db *gorm.DB) error {
&models.Char{},
// Learning Costs System - Abhängige Tabellen (vor Skills/Spells löschen)
&models.SkillImprovementCost2{},
&models.SkillImprovementCost{},
&models.WeaponSkillCategoryDifficulty{},
&models.SkillCategoryDifficulty{},
&models.SpellLevelLECost{},
+4 -4
View File
@@ -32,7 +32,7 @@ func TestTableListCompleteness(t *testing.T) {
"*models.SpellLevelLECost": true,
"*models.SkillCategoryDifficulty": true,
"*models.WeaponSkillCategoryDifficulty": true,
"*models.SkillImprovementCost2": true,
"*models.SkillImprovementCost": true,
// GSMaster Base Data
"*models.Skill": true,
@@ -88,7 +88,7 @@ func TestTableListCompleteness(t *testing.T) {
&models.SpellLevelLECost{},
&models.SkillCategoryDifficulty{},
&models.WeaponSkillCategoryDifficulty{},
&models.SkillImprovementCost2{},
&models.SkillImprovementCost{},
&models.Skill{},
&models.WeaponSkill{},
&models.Spell{},
@@ -301,8 +301,8 @@ func getModelTypeName(model interface{}) string {
return "*models.SkillCategoryDifficulty"
case *models.WeaponSkillCategoryDifficulty:
return "*models.WeaponSkillCategoryDifficulty"
case *models.SkillImprovementCost2:
return "*models.SkillImprovementCost2"
case *models.SkillImprovementCost:
return "*models.SkillImprovementCost"
case *models.Skill:
return "*models.Skill"
case *models.WeaponSkill:
+1 -1
View File
@@ -185,7 +185,7 @@ func learningMigrateStructure(db ...*gorm.DB) error {
&ClassTypicalSkill{},
&ClassTypicalSpell{},
&AuditLogEntry{},
&SkillImprovementCost2{},
&SkillImprovementCost{},
)
if err != nil {
return err
+1 -1
View File
@@ -306,7 +306,7 @@ func TestLearningMigrateStructure_VerifyStructures(t *testing.T) {
&ClassSpellSchoolEPCost{},
&SpellLevelLECost{},
&SkillCategoryDifficulty{},
&SkillImprovementCost2{},
&SkillImprovementCost{},
&AuditLogEntry{},
}
+3 -15
View File
@@ -132,20 +132,8 @@ type WeaponSkillCategoryDifficulty struct {
SCategory string `gorm:"column:skill_category;size:25;not null;index;default:Waffen" json:"skillCategory"`
}
/*
// SkillImprovementCost definiert TE-Kosten für Verbesserungen basierend auf Kategorie, Schwierigkeit und aktuellem Wert
type SkillImprovementCost struct {
ID uint `gorm:"primaryKey" json:"id"`
SkillCategoryDifficultyID uint `gorm:"not null;index" json:"skill_category_difficulty_id"`
CurrentLevel int `gorm:"not null;index" json:"current_level"` // Aktueller Fertigkeitswert
TERequired int `gorm:"not null" json:"te_required"` // Benötigte Trainingseinheiten
SkillCategoryDifficulty SkillCategoryDifficulty `gorm:"foreignKey:SkillCategoryDifficultyID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"skill_category_difficulty"`
CategoryID uint `gorm:"column:skill_category_id;not null;index;default:1" json:"skillCategoryId"` // SkillCategoryID
DifficultyID uint `gorm:"column:skill_difficulty_id;not null;index;default:1" json:"skillDifficultyId"` // SkillDifficultyID
}
*/
// SkillImprovementCost definiert TE-Kosten für Verbesserungen basierend auf Kategorie, Schwierigkeit und aktuellem Wert
type SkillImprovementCost2 struct {
ID uint `gorm:"primaryKey" json:"id"`
CurrentLevel int `gorm:"not null;index" json:"current_level"` // Aktueller Fertigkeitswert
TERequired int `gorm:"not null" json:"te_required"` // Benötigte Trainingseinheiten
@@ -251,7 +239,7 @@ func (SkillImprovementCost) TableName() string {
}
*/
func (SkillImprovementCost2) TableName() string {
func (SkillImprovementCost) TableName() string {
return "skill_improvement_cost2"
}
@@ -500,7 +488,7 @@ func (sic *SkillImprovementCost) Create() error {
}
*/
func (sic *SkillImprovementCost2) Create() error {
func (sic *SkillImprovementCost) Create() error {
return database.DB.Create(sic).Error
}
@@ -654,7 +642,7 @@ func GetSpellLearningInfoNewSystem(spellName string, classCode string) (*SpellLe
// GetImprovementCost holt die Verbesserungskosten für eine Fertigkeit
func GetImprovementCost(skillName string, categoryName string, difficultyName string, currentLevel int) (int, error) {
var result SkillImprovementCost2
var result SkillImprovementCost
err := database.DB.Raw(`
SELECT sic.te_required
+1 -1
View File
@@ -64,7 +64,7 @@ type DatabaseExport struct {
ClassSpellSchoolEPCosts []models.ClassSpellSchoolEPCost `json:"learning_class_spell_school_ep_costs"`
SpellLevelLECosts []models.SpellLevelLECost `json:"learning_spell_level_le_costs"`
SkillCategoryDifficulties []models.SkillCategoryDifficulty `json:"learning_skill_category_difficulties"`
SkillImprovementCosts []models.SkillImprovementCost2 `json:"learning_skill_improvement_costs"`
SkillImprovementCosts []models.SkillImprovementCost `json:"learning_skill_improvement_costs"`
AuditLogEntries []models.AuditLogEntry `json:"audit_log_entries"`
}
+2 -2
View File
@@ -31,7 +31,7 @@ type LearningDataExport struct {
ClassSpellSchoolEPCosts []models.ClassSpellSchoolEPCost `json:"class_spell_school_ep_costs"`
SpellLevelLECosts []models.SpellLevelLECost `json:"spell_level_le_costs"`
SkillCategoryDifficulties []models.SkillCategoryDifficulty `json:"skill_category_difficulties"`
SkillImprovementCosts []models.SkillImprovementCost2 `json:"skill_improvement_costs"`
SkillImprovementCosts []models.SkillImprovementCost `json:"skill_improvement_costs"`
}
// ExportCharacter exports a complete character with all related data
@@ -177,7 +177,7 @@ func ExportCharacter(characterID uint) (*CharacterExport, error) {
ClassSpellSchoolEPCosts: make([]models.ClassSpellSchoolEPCost, 0),
SpellLevelLECosts: make([]models.SpellLevelLECost, 0),
SkillCategoryDifficulties: make([]models.SkillCategoryDifficulty, 0),
SkillImprovementCosts: make([]models.SkillImprovementCost2, 0),
SkillImprovementCosts: make([]models.SkillImprovementCost, 0),
}
database.DB.Find(&export.LearningData.Sources)