Maison >développement back-end >Golang >Comment définir des contraintes de clé étrangère dans Gorm for Go ?
Lors de la gestion des relations d'entités dans une base de données à l'aide de Go, il est essentiel d'établir des contraintes de clé étrangère claires. Dans cet article, nous explorerons le processus de définition de telles contraintes à l'aide de Gorm, un ORM populaire pour Go.
Considérons l'exemple de scénario suivant, où nous avons deux modèles :
type User struct { ID uint Email string Password string } type UserInfo struct { UID uint FirstName string LastName string Phone string Address string User User // Represents the foreign key relationship }
Dans cet exemple, User est la table parent et UserInfo est la table enfant. Le champ UID dans UserInfo sert de clé étrangère, faisant référence au champ ID dans la table User.
Dans Gorm avant la version 2.0, il était nécessaire de créer explicitement une clé étrangère. contraintes clés dans le schéma de base de données. Ceci est réalisé en utilisant la méthode AddForeignKey dans le code de migration :
db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")
Cependant, à partir de la version 2.0 de Gorm, ce processus manuel n'est plus requis. Gorm déduit automatiquement les contraintes de clé étrangère en fonction des relations définies entre les modèles.
La définition de contraintes de clé étrangère garantit l'intégrité des données et renforce l'intégrité référentielle entre les tables. En comprenant et en appliquant les méthodes appropriées dans Gorm, vous pouvez gérer efficacement les relations entre les bases de données dans vos applications Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!