gorm
来源:5-13 商品管理功能Controller&View开发 (中)

szuxxy
2019-11-27
看到cap老师说到了gorm,于是研究了下。
model下的map.go
package model
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
var db *gorm.DB
func Init() {
defer db.Close()
db, err := gorm.Open("mysql", "golang:golang@/golangtestdb?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic(err)
}
//设置全局表名禁用复数
db.SingularTable(true)
//下面是根据定义好的结构体生成数据库中的表
db.Table("movie").CreateTable(&Movie{})
db.Table("user").CreateTable(&User{})
db.Table("product").CreateTable(&Product{})
}
发现数据库中的表倒是能生成。不过有三个地方不是很明白:
1.为什么会有个panic?
2.我后面,指跑过一次main.go后接着在User里加了两个字段然后再跑main.go,没生成进去,是应该怎么让后面加的或者修改的也生成到db里去呢?
3.感觉初始化数据库表里的代码放在这个main里不太合适,应该怎么改下比较好点啊?
写回答
1回答
-
panic 问题 要具体看下;
第二个问题要 用到 gorm 里面的 迁移功能;
第三个问题要放到同意的初始化文件,或者是安装文件中;
00
相似问题
gorm 改造 orders 代码
回答 1
简化controller注册代码
回答 1