2017-03-06 4 views
0

Ich versuche, meinen ersten beego Web-App zu schreiben, und ich versuche, einige Modelle zu registrieren, ich registriere sie in models/model.go ‚s init() Funktion, aber wenn ich den Befehl bee run laufe, bekomme ich der folgende Fehler: no Model found, need register your modelbeego Modelle registriert, aber nicht gefunden

main.go:

package main 
import (
    "fmt" 
    _ "test_blog/routers" 
    "time" 

    _ "github.com/lib/pq" 

    "github.com/astaxie/beego" 
    "github.com/astaxie/beego/orm" 
) 

func init() { 
    orm.RegisterDriver("postgres", orm.DRPostgres) 

    maxIdle := 30 
    maxConn := 30 
    orm.RegisterDataBase(
     "default", 
     "postgres", 
     "postgres://user:[email protected]/test_db", maxIdle, maxConn 
    ) 

    orm.DefaultTimeLoc = time.UTC 
} 

func main() { 
    // Database alias. 
    name := "default" 

    // Drop table and re-create. 
    force := false 

    // Print log. 
    verbose := false 

    // Error. 
    err := orm.RunSyncdb(name, force, verbose) 
    if err != nil { 
     fmt.Println(err) 
    } 

    beego.Run() 
} 

Hinweis: force & verbose bo th wurde auf true gesetzt, bevor bee run zum ersten Mal ausgeführt wurde.

models.go:

package main 

import "github.com/astaxie/beego/orm" 

type User struct { 
    Name string 
    Posts []*Post `orm:"reverse(many)"` 
} 

type Post struct { 
    Title string `orm:"size(50)"` 
    Text string `orm:"size(4000)"` 
    Created time.Time `orm:"auto_now_add;type(datetime)"` 
    Updated time.Time `orm:"auto_now;type(datetime)"` 
    Author *User  `orm:"rel(fk)"` 
} 

func init() { 
    orm.RegisterModel(new(User), new(Post)) 
} 

Antwort

1

versuchen Sie dies:

  1. in models.go, ändern package main zu package models
  2. in main.go, fügen import _ "test_blog/models"
Verwandte Themen