From 66ec9afe77e8a29e5d5d5f43b261e8649d12fb61 Mon Sep 17 00:00:00 2001 From: MengStack Dev Date: Sat, 3 Oct 2026 04:25:51 +0800 Subject: [PATCH] fix: roles query failing due to composite primary key in GORM many2many Add explicit foreignKey/references tags to Role.Permissions association so GORM uses only ID (not composite ID+TenantID) for the join table. --- internal/modules/rbac/domain/role.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/modules/rbac/domain/role.go b/internal/modules/rbac/domain/role.go index 8668365..0d5bb33 100644 --- a/internal/modules/rbac/domain/role.go +++ b/internal/modules/rbac/domain/role.go @@ -11,7 +11,7 @@ type Role struct { CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` - Permissions []Permission `json:"permissions,omitempty" gorm:"many2many:role_permissions;"` + Permissions []Permission `json:"permissions,omitempty" gorm:"many2many:role_permissions;foreignKey:ID;references:ID;joinForeignKey:RoleID;joinReferences:PermissionID"` } func (Role) TableName() string {