go gorm 建表问题,

2022-08-24 00:26:39 +08:00
 wanchenyi

创建了一个

type newMap struct {
	ID       uint
	Name     string
	source   string
	fileSize int64
	com      string
}

编译运行后只有 id 和 name 这两个字段,

mysql> select * from new_maps;
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
+----+-------+

新版的 gorm 必须指定 gorm 相关的 tag 吗,还是我哪里有问题,请大家指教哈呢

完整代码如下

package main

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

func main() {
	db := ConnectMysql()
	db.AutoMigrate(&newMap{})
	db.Create(&newMap{Name: "test1", source: "upload", fileSize: 500, com: "wwww.baidu.com"})
	fmt.Println("ok")
}

func ConnectMysql() *gorm.DB {
	dsn := "root:passwd@tcp(127.0.0.1:3306)/goweb?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err == nil {
		return db
	}
	return nil
}

type newMap struct {
	ID       uint
	Name     string
	source   string
	fileSize int64
	com      string
}
1028 次点击
所在节点    问与答
5 条回复
ibx
2022-08-24 01:08:22 +08:00
结构体首字母...
Trim21
2022-08-24 08:02:18 +08:00
你没导出,私有字段一般都是忽略的
YoYoLikesCiCi
2022-08-24 10:18:06 +08:00
大写首字母
StephenZzz
2022-08-24 11:17:34 +08:00
struct 内首字母大写 或者 tag
Vintingb
2022-08-24 13:49:03 +08:00
反射需要导出字段

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX