add module, struct and table GameSystem

This commit is contained in:
2026-01-25 22:23:33 +01:00
parent 123c136efc
commit ba2b52c147
3 changed files with 50 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
package gamesystem
import (
"bamort/database"
"bamort/models"
"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(
&models.GameSystem{},
)
if err != nil {
return err
}
return nil
}
+8
View File
@@ -3,6 +3,7 @@ package maintenance
import (
"bamort/config"
"bamort/database"
"bamort/gamesystem"
"bamort/logger"
"bamort/models"
"bamort/user"
@@ -40,6 +41,13 @@ func migrateAllStructures(db *gorm.DB) error {
return fmt.Errorf("failed to migrate database structures: %w", err)
}
// Migrate all structures in the correct order
logger.Debug("Migriere GameSystemstrukturen...")
if err := gamesystem.MigrateStructure(db); err != nil {
logger.Error("Fehler beim Migrieren der GameSystemstrukturen: %s", err.Error())
return fmt.Errorf("failed to migrate game system structures: %w", err)
}
logger.Debug("Migriere Benutzerstrukturen...")
if err := user.MigrateStructure(db); err != nil {
logger.Error("Fehler beim Migrieren der Benutzerstrukturen: %s", err.Error())
+16
View File
@@ -0,0 +1,16 @@
package models
type GameSystem struct {
ID uint `gorm:"primaryKey"`
Code string `gorm:"uniqueIndex;size:100;not null"`
Name string `gorm:"size:255;not null"`
Description string `gorm:"type:text"`
IsActive bool `gorm:"default:true;not null"`
CreatedAt int64 `gorm:"autoCreateTime"`
ModifiedAt int64 `gorm:"autoUpdateTime"`
}
// TableName sets the table name for SchemaVersion
func (GameSystem) TableName() string {
return "game_systems"
}