package utils import ( "context" "gitea.konchin.com/go2025/backend/models" "github.com/spf13/viper" "github.com/uptrace/bun" ) func InitDB(ctx context.Context, db *bun.DB) error { db.RegisterModel( (*models.AliasImage)(nil), (*models.Alias)(nil), (*models.Image)(nil), (*models.Session)(nil), ) if viper.GetBool("reset") { return db.ResetModel(ctx, (*models.AliasImage)(nil), (*models.Alias)(nil), (*models.Image)(nil), (*models.Session)(nil), ) } else { modls := []any{ (*models.AliasImage)(nil), (*models.Alias)(nil), (*models.Image)(nil), (*models.Session)(nil), } for _, model := range modls { _, err := db.NewCreateTable(). Model(model). IfNotExists(). Exec(ctx) if err != nil { return err } } return nil } }