added migration data and copyMariaDBToSQLite

This commit is contained in:
2026-01-25 22:38:22 +01:00
parent ba2b52c147
commit b6cfcc196b
2 changed files with 28 additions and 0 deletions
+18
View File
@@ -24,3 +24,21 @@ func MigrateStructure(db ...*gorm.DB) error {
} }
return nil return nil
} }
func MigrateDataIfNeeded(db *gorm.DB) error {
// Implement data migration logic here if needed
gameSystem := models.GameSystem{}
err := db.First(&gameSystem, "ID = ?", 1).Error
if err != nil {
// No initial version found, assume no migration needed
gameSystem.Code = "M5"
gameSystem.Name = "M-System"
gameSystem.Description = "Version 5 des Rollenspiels"
gameSystem.IsActive = true
err = db.Create(&gameSystem).Error
if err != nil {
return err
}
}
return nil
}
+10
View File
@@ -76,6 +76,11 @@ func migrateDataIfNeeded(db *gorm.DB) error {
logger.Error("Fehler beim Migrieren der Datenbankdaten: %s", err.Error()) logger.Error("Fehler beim Migrieren der Datenbankdaten: %s", err.Error())
return fmt.Errorf("failed to migrate database data: %w", err) return fmt.Errorf("failed to migrate database data: %w", err)
} }
err = gamesystem.MigrateDataIfNeeded(db)
if err != nil {
logger.Error("Fehler beim Migrieren der GameSystem-Daten: %s", err.Error())
return fmt.Errorf("failed to migrate game system data: %w", err)
}
// Kopiere categorie nach learning_category für Spells, wenn learning_category leer ist // Kopiere categorie nach learning_category für Spells, wenn learning_category leer ist
logger.Debug("Migriere Spell Learning Categories...") logger.Debug("Migriere Spell Learning Categories...")
@@ -217,8 +222,13 @@ func copyMariaDBToSQLite(mariaDB, sqliteDB *gorm.DB) error {
// (Basis-Tabellen zuerst wegen Foreign Key-Abhängigkeiten) // (Basis-Tabellen zuerst wegen Foreign Key-Abhängigkeiten)
tables := []interface{}{ tables := []interface{}{
// Basis-Strukturen (keine Abhängigkeiten) // Basis-Strukturen (keine Abhängigkeiten)
&database.MigrationHistory{},
&database.SchemaVersion{},
&user.User{}, &user.User{},
// Game System - Basis
&models.GameSystem{},
// Learning Costs System - Basis // Learning Costs System - Basis
&models.Source{}, &models.Source{},
&models.CharacterClass{}, &models.CharacterClass{},