add module, struct and table GameSystem
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -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())
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user