entferne Lookuplist aus den Datenstrukturen
This commit is contained in:
@@ -41,16 +41,14 @@ func createTestSkillData() error {
|
||||
|
||||
// GSM Test-Skill erstellen
|
||||
gsmSkill := models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Menschenkenntnis",
|
||||
Beschreibung: "Test Skill",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Category: "Sozial",
|
||||
Initialwert: 5,
|
||||
Improvable: true,
|
||||
Difficulty: "normal",
|
||||
GameSystem: "midgard",
|
||||
Name: "Menschenkenntnis",
|
||||
Beschreibung: "Test Skill",
|
||||
Quelle: "Test",
|
||||
Category: "Sozial",
|
||||
Initialwert: 5,
|
||||
Improvable: true,
|
||||
Difficulty: "normal",
|
||||
}
|
||||
if err := database.DB.Create(&gsmSkill).Error; err != nil {
|
||||
return err
|
||||
@@ -58,15 +56,13 @@ func createTestSkillData() error {
|
||||
|
||||
// GSM Test-Spell erstellen
|
||||
gsmSpell := models.Spell{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Macht über das Selbst",
|
||||
Beschreibung: "Test Spell",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 1,
|
||||
AP: "1",
|
||||
Category: "Beherrschen",
|
||||
GameSystem: "midgard",
|
||||
Name: "Macht über das Selbst",
|
||||
Beschreibung: "Test Spell",
|
||||
Quelle: "Test",
|
||||
Stufe: 1,
|
||||
AP: "1",
|
||||
Category: "Beherrschen",
|
||||
}
|
||||
if err := database.DB.Create(&gsmSpell).Error; err != nil {
|
||||
return err
|
||||
|
||||
@@ -18,11 +18,9 @@ func TestSkill_Create(t *testing.T) {
|
||||
{
|
||||
name: "valid skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Skill",
|
||||
Beschreibung: "Test Description",
|
||||
Quelle: "Test Source",
|
||||
},
|
||||
Name: "Test Skill",
|
||||
Beschreibung: "Test Description",
|
||||
Quelle: "Test Source",
|
||||
Initialwert: 5,
|
||||
Bonuseigenschaft: "st",
|
||||
Improvable: true,
|
||||
@@ -64,11 +62,9 @@ func TestWeaponSkill_Create(t *testing.T) {
|
||||
name: "valid weapon skill",
|
||||
weaponSkill: &models.WeaponSkill{
|
||||
Skill: models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Weapon Skill",
|
||||
Beschreibung: "Test Description",
|
||||
Quelle: "Test Source",
|
||||
},
|
||||
Name: "Test Weapon Skill",
|
||||
Beschreibung: "Test Description",
|
||||
Quelle: "Test Source",
|
||||
Initialwert: 5,
|
||||
Bonuseigenschaft: "st",
|
||||
Improvable: true,
|
||||
@@ -119,10 +115,8 @@ func TestSkill_First(t *testing.T) {
|
||||
{
|
||||
name: "existing skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
findName: "Test Skill",
|
||||
wantErr: false,
|
||||
@@ -176,10 +170,8 @@ func TestSkill_FirstId(t *testing.T) {
|
||||
{
|
||||
name: "existing skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
findId: 1,
|
||||
wantErr: false,
|
||||
@@ -234,11 +226,9 @@ func TestSkill_Save(t *testing.T) {
|
||||
{
|
||||
name: "update existing skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Skill",
|
||||
Beschreibung: "Original Description",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Name: "Test Skill",
|
||||
Beschreibung: "Original Description",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
@@ -290,19 +280,15 @@ func TestSkill_Delete(t *testing.T) {
|
||||
{
|
||||
name: "delete existing skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Name: "Test Skill",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "delete non-existing skill",
|
||||
skill: &models.Skill{
|
||||
LookupList: models.LookupList{
|
||||
ID: 9999,
|
||||
},
|
||||
ID: 9999,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
@@ -347,32 +333,24 @@ func TestSkill_GetSkillCategories(t *testing.T) {
|
||||
// Create test skills with different categories
|
||||
testSkills := []*models.Skill{
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Skill1",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Category: "Category1",
|
||||
Name: "Skill1",
|
||||
GameSystem: "midgard",
|
||||
Category: "Category1",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Skill2",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Category: "Category2",
|
||||
Name: "Skill2",
|
||||
GameSystem: "midgard",
|
||||
Category: "Category2",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Skill3",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Category: "Category1", // Duplicate category
|
||||
Name: "Skill3",
|
||||
GameSystem: "midgard",
|
||||
Category: "Category1", // Duplicate category
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
Name: "Skill4",
|
||||
GameSystem: "midgard",
|
||||
},
|
||||
Category: "", // Empty category
|
||||
Name: "Skill4",
|
||||
GameSystem: "midgard",
|
||||
Category: "", // Empty category
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -749,34 +749,28 @@ func TestGetSpellInfo(t *testing.T) {
|
||||
// Create minimal test spell data for our test
|
||||
testSpells := []models.Spell{
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Schlummer",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 1,
|
||||
Category: "Beherrschen",
|
||||
GameSystem: "midgard",
|
||||
Name: "Schlummer",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 1,
|
||||
Category: "Beherrschen",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Erkennen von Krankheit",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 2,
|
||||
Category: "Dweomerzauber",
|
||||
GameSystem: "midgard",
|
||||
Name: "Erkennen von Krankheit",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 2,
|
||||
Category: "Dweomerzauber",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Das Loblied",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 3,
|
||||
Category: "Zauberlied",
|
||||
GameSystem: "midgard",
|
||||
Name: "Das Loblied",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 3,
|
||||
Category: "Zauberlied",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -855,34 +849,28 @@ func TestCalcSpellLernCostWithRewards(t *testing.T) {
|
||||
// Create minimal test spell data for our test
|
||||
testSpells := []models.Spell{
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Schlummer",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 1,
|
||||
Category: "Beherrschen",
|
||||
GameSystem: "midgard",
|
||||
Name: "Schlummer",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 1,
|
||||
Category: "Beherrschen",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Erkennen von Krankheit",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 2,
|
||||
Category: "Dweomer",
|
||||
GameSystem: "midgard",
|
||||
Name: "Erkennen von Krankheit",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 2,
|
||||
Category: "Dweomer",
|
||||
},
|
||||
{
|
||||
LookupList: models.LookupList{
|
||||
GameSystem: "midgard",
|
||||
Name: "Das Loblied",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
},
|
||||
Stufe: 3,
|
||||
Category: "Zauberlied",
|
||||
GameSystem: "midgard",
|
||||
Name: "Das Loblied",
|
||||
Beschreibung: "Test spell for GetSpellInfo",
|
||||
Quelle: "Test",
|
||||
Stufe: 3,
|
||||
Category: "Zauberlied",
|
||||
},
|
||||
}
|
||||
// Insert test data directly
|
||||
|
||||
@@ -135,7 +135,7 @@ func copyMariaDBToSQLite(mariaDB, sqliteDB *gorm.DB) error {
|
||||
&models.SkillImprovementCost{},
|
||||
|
||||
// GSMaster Basis-Daten
|
||||
&models.LookupList{}, // Basis für Skills, Spells, Equipment
|
||||
//&models.LookupList{}, // Basis für Skills, Spells, Equipment
|
||||
&models.Skill{},
|
||||
&models.WeaponSkill{},
|
||||
&models.Spell{},
|
||||
|
||||
@@ -43,7 +43,13 @@ type LearnCost struct {
|
||||
}
|
||||
|
||||
type Skill struct {
|
||||
LookupList
|
||||
ID uint `gorm:"primaryKey" json:"id"`
|
||||
GameSystem string `gorm:"column:game_system;index;default:midgard" json:"game_system"`
|
||||
Name string `gorm:"type:varchar(255);index" json:"name"`
|
||||
Beschreibung string `json:"beschreibung"`
|
||||
Quelle string `json:"quelle"` // Deprecated: Für Rückwärtskompatibilität
|
||||
SourceID uint `gorm:"index" json:"source_id,omitempty"` // Verweis auf strukturierte Quelle
|
||||
PageNumber int `json:"page_number,omitempty"` // Seitenzahl im Quellenbuch
|
||||
Initialwert int `gorm:"default:5" json:"initialwert"`
|
||||
Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"`
|
||||
Improvable bool `gorm:"default:true" json:"improvable"`
|
||||
@@ -57,7 +63,13 @@ type WeaponSkill struct {
|
||||
}
|
||||
|
||||
type Spell struct {
|
||||
LookupList
|
||||
ID uint `gorm:"primaryKey" json:"id"`
|
||||
GameSystem string `gorm:"column:game_system;index;default:midgard" json:"game_system"`
|
||||
Name string `gorm:"type:varchar(255);index" json:"name"`
|
||||
Beschreibung string `json:"beschreibung"`
|
||||
Quelle string `json:"quelle"` // Deprecated: Für Rückwärtskompatibilität
|
||||
SourceID uint `gorm:"index" json:"source_id,omitempty"` // Verweis auf strukturierte Quelle
|
||||
PageNumber int `json:"page_number,omitempty"` // Seitenzahl im Quellenbuch
|
||||
Bonus int `json:"bonus"`
|
||||
Stufe int `json:"level"`
|
||||
AP string `gorm:"default:1" json:"ap"`
|
||||
@@ -72,9 +84,15 @@ type Spell struct {
|
||||
}
|
||||
|
||||
type Equipment struct {
|
||||
LookupList
|
||||
Gewicht float64 `json:"gewicht"` // in kg
|
||||
Wert float64 `json:"wert"` // in Gold
|
||||
ID uint `gorm:"primaryKey" json:"id"`
|
||||
GameSystem string `gorm:"column:game_system;index;default:midgard" json:"game_system"`
|
||||
Name string `gorm:"type:varchar(255);index" json:"name"`
|
||||
Beschreibung string `json:"beschreibung"`
|
||||
Quelle string `json:"quelle"` // Deprecated: Für Rückwärtskompatibilität
|
||||
SourceID uint `gorm:"index" json:"source_id,omitempty"` // Verweis auf strukturierte Quelle
|
||||
PageNumber int `json:"page_number,omitempty"` // Seitenzahl im Quellenbuch
|
||||
Gewicht float64 `json:"gewicht"` // in kg
|
||||
Wert float64 `json:"wert"` // in Gold
|
||||
PersonalItem bool `gorm:"default:false" json:"personal_item"`
|
||||
}
|
||||
|
||||
@@ -95,9 +113,16 @@ type Transportation struct {
|
||||
}
|
||||
|
||||
type Believe struct {
|
||||
LookupList
|
||||
ID uint `gorm:"primaryKey" json:"id"`
|
||||
GameSystem string `gorm:"column:game_system;index;default:midgard" json:"game_system"`
|
||||
Name string `gorm:"type:varchar(255);index" json:"name"`
|
||||
Beschreibung string `json:"beschreibung"`
|
||||
Quelle string `json:"quelle"` // Deprecated: Für Rückwärtskompatibilität
|
||||
SourceID uint `gorm:"index" json:"source_id,omitempty"` // Verweis auf strukturierte Quelle
|
||||
PageNumber int `json:"page_number,omitempty"` // Seitenzahl im Quellenbuch
|
||||
}
|
||||
|
||||
/*
|
||||
func (object *LookupList) Create() error {
|
||||
gameSystem := "midgard"
|
||||
object.GameSystem = gameSystem
|
||||
@@ -140,6 +165,7 @@ func (object *LookupList) Save() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
*/
|
||||
|
||||
func (object *Skill) TableName() string {
|
||||
dbPrefix := "gsm"
|
||||
|
||||
-8
@@ -3068,7 +3068,6 @@ ALTER TABLE `equi_weapons`
|
||||
ALTER TABLE `gsm_believes`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_believes_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_believes_name` (`name`),
|
||||
ADD KEY `idx_gsm_believes_source_id` (`source_id`);
|
||||
|
||||
@@ -3078,7 +3077,6 @@ ALTER TABLE `gsm_believes`
|
||||
ALTER TABLE `gsm_containers`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_containers_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_containers_source_id` (`source_id`),
|
||||
ADD KEY `idx_gsm_containers_name` (`name`);
|
||||
|
||||
@@ -3088,7 +3086,6 @@ ALTER TABLE `gsm_containers`
|
||||
ALTER TABLE `gsm_equipments`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_equipments_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_equipments_name` (`name`),
|
||||
ADD KEY `idx_gsm_equipments_source_id` (`source_id`);
|
||||
|
||||
@@ -3098,7 +3095,6 @@ ALTER TABLE `gsm_equipments`
|
||||
ALTER TABLE `gsm_skills`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_skills_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_skills_source_id` (`source_id`),
|
||||
ADD KEY `idx_gsm_skills_name` (`name`);
|
||||
|
||||
@@ -3108,7 +3104,6 @@ ALTER TABLE `gsm_skills`
|
||||
ALTER TABLE `gsm_spells`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_spells_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_spells_name` (`name`),
|
||||
ADD KEY `idx_gsm_spells_source_id` (`source_id`);
|
||||
|
||||
@@ -3118,7 +3113,6 @@ ALTER TABLE `gsm_spells`
|
||||
ALTER TABLE `gsm_transportations`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_transportations_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_transportations_name` (`name`),
|
||||
ADD KEY `idx_gsm_transportations_source_id` (`source_id`);
|
||||
|
||||
@@ -3128,7 +3122,6 @@ ALTER TABLE `gsm_transportations`
|
||||
ALTER TABLE `gsm_weapons`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_weapons_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_weapons_name` (`name`),
|
||||
ADD KEY `idx_gsm_weapons_source_id` (`source_id`);
|
||||
|
||||
@@ -3138,7 +3131,6 @@ ALTER TABLE `gsm_weapons`
|
||||
ALTER TABLE `gsm_weaponskills`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_gsm_weaponskills_game_system` (`game_system`),
|
||||
ADD KEY `idx_lookup_list_name` (`name`),
|
||||
ADD KEY `idx_gsm_weaponskills_name` (`name`),
|
||||
ADD KEY `idx_gsm_weaponskills_source_id` (`source_id`);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user