beego mysql 生成_beego ORM 创建模型,生成表。遇到的一些坑。

坑,直接执行 bee migrate 报错

2019/12/25 21:26:32 FATAL ▶ 0004 Could not show migrations table: Error 1045: Access denied for user 'root'@'localhost' (using password: NO)

2f9a2bcfd667645c1e03c5ed038e4490.png

model 只是创建

我们需要在controller 中定义方法,路由 执行model

另外,bee migrate不会帮我们生成迁移,只会执行迁移。

如何使用orm 创建 controller呢?

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 在路由中调用控制器

即可完成创建

1738cdcfce6022e9209916af009869d4.png

查看数据库

149ca7cf11994855b54e6cb5682bff8c.png

主要分析

开启自动创建表

//自动创建表 参数二为是否开启创建表 参数三是否更新表

orm.RunSyncdb("default",true,true)

bee run 会自动检查.

a086aab4f2f5c0eef446a368909d918a.png

请开启 自动创建表

本作品采用《CC 协议》,转载必须注明作者和本文链接

感谢关注

上海PHP自学中心-免费编程视频教学|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值