请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

gorm

看到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回答

  1. panic 问题 要具体看下;

  2. 第二个问题要 用到 gorm 里面的 迁移功能;

  3. 第三个问题要放到同意的初始化文件,或者是安装文件中;

0 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号