首页 > 其他分享 >Golang Gorm 的标签tag

Golang Gorm 的标签tag

时间:2024-02-22 17:01:24浏览次数:26  
标签:定义 数据库 指定 gorm Golang 索引 字段 tag Gorm

当使用 GORM 进行数据库模型映射时,可以使用多种标签来定义字段的行为。以下是一些常用的 GORM 标签:

  1. gorm:"primary_key": 定义字段作为模型的主键。

  2. gorm:"column:<column_name>": 指定字段在数据库表中的列名。

  3. gorm:"type:<data_type>": 指定字段的数据库数据类型。

  4. gorm:"unique": 定义字段的值在数据库中是唯一的。

  5. gorm:"not null": 定义字段在数据库中不允许为空。

  6. gorm:"default:<default_value>": 指定字段的默认值。

  7. gorm:"size:<size>": 指定字段的大小,通常用于字符串类型字段。

  8. gorm:"autoIncrement": 定义字段自增。

  9. gorm:"index": 在数据库中为字段创建索引。

  10. gorm:"uniqueIndex": 在数据库中为字段创建唯一索引。

  11. gorm:"primaryKey": 定义字段为数据库表的主键。

  12. gorm:"default:<value>": 指定字段的默认值。

  13. gorm:"-": 定义字段在数据库模型中不可见。

  14. gorm:"type:<data_type>;size:<size>": 结合使用 typesize 标签,可以同时指定字段的数据类型和大小。

  15. gorm:"association_foreignkey:<column_name>": 定义关联表中外键的列名。

  16. gorm:"many2many:<join_table_name>": 定义多对多关联关系,并指定连接表的表名。

  17. gorm:"->;<constraint>": 指定外键约束,例如 ONDELETE:CASCADE

  1. gorm:"index;<index_type>": 在数据库中为字段创建索引,并指定索引类型,例如 BTREEHASH 等。

  2. gorm:"uniqueIndex;<index_type>": 在数据库中为字段创建唯一索引,并指定索引类型。

  3. gorm:"precision:<precision>;scale:<scale>": 定义字段的精度和标度,通常用于浮点数类型字段。

  4. gorm:"comment:<comment>": 在数据库中为字段添加注释。

  5. gorm:"embedded": 指定字段为嵌入字段,用于嵌入式结构体。

  6. gorm:"size:<size>;not null": 结合使用 sizenot null 标签,可以指定字段的大小并且不允许为空。

  7. gorm:"uniqueIndex;<index_type>;name:<index_name>": 在数据库中为字段创建唯一索引,并指定索引类型和索引名称。

  8. gorm:"default:<expression>": 使用表达式指定字段的默认值,例如 NOW()

  9. gorm:"autoCreateTime": 指定字段在创建记录时自动设置为当前时间。

  10. gorm:"autoUpdateTime": 指定字段在更新记录时自动设置为当前时间。

标签:定义,数据库,指定,gorm,Golang,索引,字段,tag,Gorm
From: https://www.cnblogs.com/watermeloncode/p/18027698

相关文章

  • golang 读取excel 保存xml
    1、首先下载第三方excel读取库gogetgithub.com/xuri/excelize/v22、读取xml库,未使用默认xml库 gogetgithub.com/beevik/etreepackagemainimport( "fmt" "github.com/beevik/etree" "github.com/xuri/excelize/v2")funcLoadExcelAndSaveXML(){ ......
  • golang 包&go mod
    gomod初始化项目gomodinit项目开发中首先要在项目目录中用gomod命令生成一个go.mod文件管理项目的依赖自定义包自定义包://自定义包一定要放在第一行packagecalc/*定义的方法、变量、结构体等首字母大写表示公有方法,其他包中可以引入该方法首字母小......
  • 关于Golang中函数的接收者不同对接口的使用的影响理解
    对于函数而言:接收者为指针会改变接收者本身的值接收者为值则只是拷贝,不会改变原本的值并且值和指针可以任意调用对方的方法,即值可以调用接收者为指针的方法,指针可以调用接收者为值得方法。原因是:可以自动指针解引用和值寻址对于接口而言:接收者为指针的方法,不能将值赋值给接......
  • golang指针和结构体
    指针指针操作指针包括指针地址、指针类型和指针取值&:&符号放在变量前面进行取地址操作**:*放在变量前面根据地址进行取值指针地址:funcmain(){ varaint=1 //a的值是1--类型是int--,地址是0xc0000120c0,&是地址符号 fmt.Printf("a的值是%v--类型是%T--,地......
  • gorm入门
    目录1.简介2.实例3.增删改查新增更新删除查询高级查询原生sql4.模型类约定字段标签关联标签单个声明BelongsTo一对一HasOne一对一一对多多对多文档1.简介特定: 全功能ORM 关联(HasOne,HasMany,BelongsTo,ManyToMany,多态,单表继承) Create,Save,Update,Delete,Find中钩子方......
  • Golang fmt包的使用
    摘要Golang是一种简洁、高效的编程语言,其标准库中的fmt包是开发者经常使用的一个重要工具。本文将深入探究Golangfmt包的使用,包括格式化输出、输入扫描、错误处理以及自定义格式化等方面的内容,帮助读者更好地理解和使用该包。 引言Golang的fmt包提供了一系列函数,用于格式化......
  • golang之函数
    目录一、什么是函数二、函数的定义三、函数的返回值1.多个返回值2.命名返回值四、函数的参数1.可变长参数一、什么是函数简单来说就是一个特定的方法,通过这个方法产生预期的结果。函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输......
  • 【Go-Lua】Golang嵌入Lua代码——gopher-lua
    嵌入式8篇文章0订阅订阅专栏Lua代码嵌入GolangGo版本:1.19首先是Go语言直接调用Lua程序,并打印,把环境跑通packagemainimportlua"github.com/yuin/gopher-lua"funcmain(){ L:=lua.NewState() deferL.Close() //go err:=L.DoString(`print("gogogo!")`) iferr!=n......
  • golang time包和日期函数
    获取当前时间 //获取当前时间对象 timeObj:=time.Now() /*获取当前日期语法一*/ //打印当前日期 fmt.Println(timeObj)//2024-02-2017:50:54.085353+0800CSTm=+0.000323093 //当前年 year:=timeObj.Year() //打印当月 month:=timeObj.Month() //......
  • golang函数
    函数定义/*函数定义关键字funcfunc函数名(参数参数类型)函数返回值的类型*/funcgetInfo(namestring,ageint)string{ returnname}//函数返回多个返回值:则返回类型括号包裹(返回值类型,类型..),即时返回两个int,也需要(int,int)funcgetNum(xint,statusboo......