Organizer ist der Backend-Server der Organizer-App.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Organizer/models/models.go

43 lines
743 B

package models
import (
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3"
)
var x *xorm.Engine
var DBModels []interface{} = []interface{}{
new(Subject),
new(Teacher),
new(Lesson),
new(ReplacementLesson),
new(Exam),
}
func SyncModels(engine *xorm.Engine) error {
for _, model := range DBModels {
if err := engine.Sync2(model); err != nil {
return err
}
}
return nil
}
func SetupEngine() (*xorm.Engine, error) {
e, err := xorm.NewEngine("sqlite3", "./organizer.db")
e.SetMapper(core.GonicMapper{})
if err != nil {
return nil, err
}
if err := SyncModels(e); err != nil {
panic(err)
return nil, err
}
return e, nil
}
func SetDefaultEngine(engine *xorm.Engine) {
x = engine
}