You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB
Go

package models
import (
"fmt"
"go_mqtt/mydb"
"gorm.io/gorm"
)
//gorm:"column:column_name":指定字段在数据库中的列名。
//gorm:"primaryKey":指定字段为主键。
//gorm:"autoIncrement":指定字段为自增长。
//gorm:"unique":指定字段在数据库中唯一。
//gorm:"not null":指定字段不能为空。
//gorm:"default:value":指定字段的默认值。
//gorm:"size:length":指定字段的长度。
//gorm:"index":指定字段创建索引。
type User struct {
gorm.Model // 内置模型结构体,包含 ID、CreatedAt、UpdatedAt、DeletedAt 字段
Name string
Age int
Email string `gorm:"unique"` // 使用标签指定字段属性,这里表示 Email 字段在数据库中是唯一的
Address string
Order Order // 一对一关联,一个用户对应一个订单
}
func init() {
fmt.Println("User init()")
mydb.DB.AutoMigrate(&User{})
}
// TableName 会将 User 的表名重写为 `user`
func (User) TableName() string {
return "user"
}
func SaveUser(uuid string) {
// 创建记录
product := User{Name: "Wenfei", Age: 20, Email: uuid, Address: "天等县弄在屯"}
result := mydb.DB.Create(&product)
if result.Error != nil {
fmt.Println("Failed to create product:", result.Error)
} else {
fmt.Println("User created successfully!")
}
}