go-gorm 相关问题

GORM是由jinzhu开发的编程语言Go的ORM库。

如何使用GORM加入多个表 我目前有3个表通过GORM之间的关系。我希望向卖家询问有关关系的所有信息。 这是我的实体: 键入ShopType struct { id ...

type ShopType struct { ID uint `gorm:"primarykey" json:"id"` Name string `json:"name" xml:"name" form:"name" query:"name"` } type Shop struct { ID uint `gorm:"primarykey" json:"id"` Name string `json:"name" xml:"name" form:"name" query:"name"` ShopType ShopType `gorm:"ShopTypeID;constraint:OnUpdate:CASCADE,OnDelete:RESTRICT;" json:"-"` } type Seller struct { ID uint `gorm:"primarykey" json:"id"` Firstname string `json:"firstname" xml:"firstname" form:"firstname" query:"firstname"` Lastname string `json:"lastname" xml:"lastname" form:"lastname" query:"lastname"` Shop Shop `gorm:"foreignKey:ShopID;constraint:OnUpdate:CASCADE,OnDelete:RESTRICT;" json:"-"` }

回答 0 投票 0

我正在使用Gorm作为我的GO应用程序中的ORM。我将所有模型结构嵌入。由于某种原因,我认为

列将被自动索引,因为日期范围过滤是最常见的数据库查询之一。但是事实证明不是这样。

回答 0 投票 0


Go迁移不会创建外键

我和去的第一天。我尝试在启示录中使用GORM开发迁移机制。 这些是我的模型结构: 类型角色struct { Gorm.Model 名称字符串 } 键入用户结构{ Gorm ....

回答 2 投票 0




Decimal(8,2)

回答 4 投票 0

传播错误和GORM

如果发生瞬态误差(例如,网络故障,写冲突,锁采集失败等),GORM将在不重试的情况下将错误返回给呼叫者。取决于开发人员的意义...

回答 1 投票 0


如何在删除上设置默认行为? 我目前正在尝试为我的数据库做出约束,并遇到无法解决的问题。我有2个表(用户和角色)具有1:n连接。目的是,如果我删除角色

package main import ( "fmt" "log" "gorm.io/driver/postgres" "gorm.io/gorm" ) type Role struct { gorm.Model Name string } type User struct { gorm.Model Name string RoleID uint Role Role `gorm:"constraint:OnDelete:SET DEFAULT;"` } func main() { // Database connection dsn := "host=localhost user=postgres password=postgres dbname=testdb port=5433 sslmode=disable TimeZone=UTC" db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { panic("failed to connect to the database") } // Drop both tables for clean data db.Migrator().DropTable(&User{}) db.Migrator().DropTable(&Role{}) // Create the tables err = db.AutoMigrate(&Role{}, &User{}) if err != nil { log.Fatalf("Error during AutoMigrate: %v", err) } // Create roles role1 := Role{Name: "user"} role2 := Role{Name: "admin"} db.Create(&role1) db.Create(&role2) // Create users and assign roles user1 := User{Name: "Alice", RoleID: role1.ID} user2 := User{Name: "Bob", RoleID: role2.ID} db.Create(&user1) db.Create(&user2) // Print initial state fmt.Println("Before deleting role:") printUsers(db) // Delete the admin role db.Delete(&role2) // Print final state fmt.Println("After deleting 'User' role:") printUsers(db) } // Helper function to print all users with their roles func printUsers(db *gorm.DB) { var users []User db.Preload("Role").Find(&users) for _, user := range users { fmt.Printf("User: %s, Role: %s\n", user.Name, user.Role.Name) } }

回答 1 投票 0


有没有一种简单的方法可以用gorm验证数据?

我是 GORM 的新手,我正在寻找一些可以帮助处理常见验证错误(字段长度、正则表达式|电子邮件、唯一性等)的东西,我可以在结构字段上使用它们。 现在我...

回答 1 投票 0

如何将更新传播到相关表?

情况 假设我有两种想要在 CRUD-API 中读写更新的对象: 类型玩家结构体{ ID *uuid.UUID `gorm:"type:uuid;primary_key;" json:&quo...

回答 1 投票 0

GORM 在尝试创建具有一对多关系的记录时仅创建一个子记录

我正在尝试专门构建一个不使用 golang 和 GORM 的 REST API。我有四个实体:Promo,其中包含许多 PromoUnique 实体,一个 Target 实体,其中还包含许多类别实体...

回答 1 投票 0

错误:在表“promos”上插入或更新违反了外键约束“fk_businesses_promos”

我正在尝试使用 go 特别是 GORM 构建 REST API。 我的实体看起来像这样: 类型业务结构{ ID 字符串 `json:"id" gorm:"primaryKey;not null;type:uuid;

回答 1 投票 0

GORM 错误:“运算符不存在:bigint = text”

我在一个项目中使用Go+GORM。我有一个如下所示的数据库结构: 如果不存在则创建表 public.keywords ( 关键字文本不为空, 主键(关键字) ); 如果没有则创建表

回答 1 投票 0

如何使用 gorm 从数据库返回新创建的记录

我有一个创建新用户的函数,但是获取用户值的推荐方法不包括数据库创建的自动生成的值(id,created_at) 输入用户字符串...

回答 3 投票 0

gorm 交易:反映:字段索引超出范围

我在使用 Golang gorm ORM 创建事务时遇到问题。我收到字段索引超出范围错误。我似乎无法理解这里的问题。我正在手动模式下运行交易...

回答 1 投票 0

gorm:为关系定义有效的外键或实现 Valuer/Scanner 接口

我想在 gorm 中的模型中添加一些外键。我所做的与添加外键的文档完全相同。 这些是模型 专辑型号: 类型专辑结构{ gorm.模型

回答 2 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.