2017-03-06 102 views
0

我想寫我的第一個beego網絡應用程序,我試圖註冊一些模型,我在models/model.goinit()函數中註冊它們,但是當我運行命令bee run時,以下錯誤: no Model found, need register your modelbeego models registered registered but not found

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() 
} 

注意force & verbose博在第一次運行bee run之前設置爲true

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)) 
} 

回答

1

試試這個:

    在models.go
  1. ,改變package mainpackage models在main.go
  2. ,加import _ "test_blog/models"
相關問題