added migration data and copyMariaDBToSQLite
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
@@ -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{},
|
||||||
|
|||||||
Reference in New Issue
Block a user