2019/12/25 21:26:32 FATAL ▶ 0004 Could not show migrations table: Error 1045: Access denied for user 'root'@'localhost' (using password: NO)
我們需要在controller 中定義方法,路由 執行model
另外,bee migrate不會幫我們生成遷移,只會執行遷移。
models/model.go
package models
// model 在一個裡面寫.多個表
import (
_ "github.com/go-sql-driver/mysql"
"github.com/astaxie/beego/orm"
"time"
)
//表的設計
//定義一個結構體
type User struct {
Id int
Name string
PassWord string
//Pass_Word
}
type Article struct {
Id int `orm:"pk;auto"`
ArtiName string `orm:"size(20)"`
Atime time.Time `orm:"auto_now"`
Acount int `orm:"default(0);null"`
Acontent string `orm:"size(500)"`
Aimg string `orm:"size(100)"`
}
func init() {
//ORM運算元據庫
orm.RegisterDriver("mysql", orm.DRMySQL)
//獲取連線物件
// ("%s:%s@tcp(%s:%s)/%s?charset=utf8", dbUser, dbPass, dbHost, dbPort, dbName)
//orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/bifen?charset=utf8")
orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/bifen?charset=utf8")
//建立表
orm.RegisterModel(new(User), new(Article))
//生成表
//自動建立表 引數二為是否開啟建立表 引數三是否更新表
orm.RunSyncdb("default",true,true)
//操作表
// 設定為 UTC 時間
orm.DefaultTimeLoc = time.UTC
}
controllers\default.go
package controllers
import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)
type MainController struct {
beego.Controller
}
func (c *MainController) Get() {
c.Data["Website"] = "beego.me"
c.Data["Email"] = "astaxie@gmail.com"
c.TplName = "test.html"
}
func(c*MainController)Post(){
c.Data["data"] = "上海一期最棒"
c.TplName = "test.html"
}
func(c*MainController)ShowGet() {
//獲取ORM物件
o := orm.NewOrm()
c.Data["data"] = "上海"
c.TplName = "test.html"
}
routers\router.go
package routers
import (
"bobo/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{},"get:ShowGet;post:Post")
}
主要是需要在控制器呼叫model 在路由中呼叫控制器
即可完成建立
檢視資料庫
開啟自動建立表
//自動建立表 引數二為是否開啟建立表 引數三是否更新表
orm.RunSyncdb("default",true,true)
bee run 會自動檢查.
請開啟 自動建立表