Ich bin ziemlich neu auf Beego. Ich beginne ein kleines Projekt zu entdecken und beginne zu lernen das Framework. Ich die Bienen Befehl verwendet, um das Projekt zu erstellen:Modellfehler mit Beego
bee new my_project
Die Version von beego ist:
bee :1.4.1
beego :1.6.1
Go :go version go1.6.3 linux/amd64
ich ein kleines Modell, der Inhalt meiner Modelldatei ist:
package models
import "github.com/astaxie/beego/orm"
type ShortUrl struct {
Id int `orm:"auto"`
Domain string
Short string
}
func init() {
orm.RegisterModel(new(ShortUrl))
}
In der Hauptdatei:
package main
import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/hobbestigrou/mahewinsexyurl/routers"
)
func init() {
orm.RegisterDriver("sqlite3", orm.DRSqlite)
orm.RegisterDataBase("default", "sqlite3", "data.db")
orm.RunCommand()
}
func main() {
beego.Run()
}
In der Controller-Datei:
Ich weiß, ich kann den Flash-Teil refaktorieren, aber es ist ein Detail im Moment.
Der Router:
package routers
import (
"github.com/hobbestigrou/mahewinsexyurl/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{})
}
verwendete ich die syncdb die Tabelle zu erstellen:
./mahewinsexyurl orm syncdb
Die Tabelle erfolgreich erstellt wurde. Aber wenn ich versuche, Daten zu schreiben, ich habe einen Fehler :
2016/08/05 17:16:24 [router.go:854][C] the request url is/
2016/08/05 17:16:24 [router.go:855][C] Handler crashed with error <Ormer> table: `.` not found, maybe not RegisterModel
2016/08/05 17:16:24 [router.go:861][C] /usr/lib/go-1.6/src/runtime/asm_amd64.s:472
2016/08/05 17:16:24 [router.go:861][C] /usr/lib/go-1.6/src/runtime/panic.go:443
2016/08/05 17:16:24 [router.go:861][C] /home/hobbestigrou/go/src/github.com/astaxie/beego/orm/orm.go:110
2016/08/05 17:16:24 [router.go:861][C] /home/hobbestigrou/go/src/github.com/astaxie/beego/orm/orm.go:135
2016/08/05 17:16:24 [router.go:861][C] /home/hobbestigrou/go/src/github.com/hobbestigrou/mahewinsexyurl/controllers/default.go:47
2016/08/05 17:16:24 [router.go:861][C] /home/hobbestigrou/go/src/github.com/astaxie/beego/router.go:763
2016/08/05 17:16:24 [router.go:861][C] /usr/lib/go-1.6/src/net/http/server.go:2081
2016/08/05 17:16:24 [router.go:861][C] /usr/lib/go-1.6/src/net/http/server.go:1472
2016/08/05 17:16:24 [router.go:861][C] /usr/lib/go-1.6/src/runtime/asm_amd64.s:1998
Was ist mein Fehler?
Es ist nicht notwendig, die Using-Funktion aufzurufen, da sie bereits von der NewOrm-Funktion aufgerufen wird, siehe https://github.com/astaxie/beego/tree/master/orm/orm.go, daher ist es nicht der Grund für den Fehler . – Hobbestigrou