telegram 文章目录
修改后的 `User` 模型
“`go
package main
import (
“gorm.io/driver/sqlite”
“gorm.io/gorm”
)
// User 模型
type User struct {
ID uint `gorm:”primaryKey”`
Name string
Age int
IsActive bool // 新增字段,用于表示用户是否激活
}
func main() {
// 连接数据库
db, err := gorm.Open(sqlite.Open(“test.db”), &gorm.Config{})
if err != nil {
panic(“failed to connect database”)
}
// 自动迁移
db.AutoMigrate(&User{})
// 创建
db.Create(&User{Name: “John”, Age: 25, IsActive: true})
// 查询
var user User
db.First(&user, 1) // 查询 ID 为 1 的用户
// 更新
db.Model(&user).Updates(User{Age: 26, IsActive: false}) // 更新 Age 和 IsActive
// 删除
db.Delete(&user, 1)
}
“`
关键修改点
其他说明
确保在数据库中执行自动迁移后,新增的 `IsActive` 字段会被正确创建。如果之前已经创建了数据库表,可能需要手动删除表或使用其他迁移工具来更新数据库结构。