Skip to content

Model

在一个 Go 语言项目中使用 GORM (GORM) 时,通常会将数据库表映射到 Go 的结构体。这些结构体定义了数据模型,用于表示数据库中的表和表之间的关系。在 GORM 项目中,通常会将这些结构体定义在一个名为 model 的目录中。

核心用途

这个目录的作用主要是组织和管理与数据库模型相关的代码。将所有的模型文件放置在一个目录下可以更好地组织代码,并使代码结构清晰易于维护。通常,每个模型都会对应一个结构体,该结构体的字段与数据库表的列相对应。

除了结构体定义之外,model 目录中的文件可能还包括与模型相关的其他代码,如模型的方法、模型之间的关系定义等。

下面是一个简单的 User 结构体定义的例子:

go
type User struct {
	Id        uint   `gorm:"primarykey"`
	UserId    string `gorm:"unique;not null"`
	Nickname  string `gorm:"not null"`
	Password  string `gorm:"not null"`
	Email     string `gorm:"not null"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt gorm.DeletedAt `gorm:"index"`
}

func (u *User) TableName() string {
	return "users"
}

基于 MIT 许可发布