Go를 사용하여 데이터베이스의 엔터티 관계를 관리할 때 명확한 외래 키 제약 조건을 설정하는 것이 중요합니다. 이 글에서는 널리 사용되는 Go용 ORM인 Gorm을 사용하여 이러한 제약 조건을 정의하는 프로세스를 살펴보겠습니다.
두 가지 모델이 있는 다음 예제 시나리오를 고려해 보세요.
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 }
이 예에서 User는 상위 테이블이고 UserInfo는 하위 테이블입니다. UserInfo의 UID 필드는 User 테이블의 ID 필드를 참조하는 외래 키 역할을 합니다.
Gorm 2.0 이전 버전에서는 명시적으로 외래 키를 생성해야 했습니다. 데이터베이스 스키마의 주요 제약 조건. 이는 마이그레이션 코드에서 AddForeignKey 메서드를 사용하여 수행됩니다.
db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")
그러나 Gorm 버전 2.0부터는 이 수동 프로세스가 더 이상 필요하지 않습니다. Gorm은 모델 간에 정의된 관계를 기반으로 외래 키 제약 조건을 자동으로 추론합니다.
외래 키 제약 조건을 정의하면 데이터 무결성이 보장되고 테이블 간의 참조 무결성이 강화됩니다. Gorm의 적절한 방법을 이해하고 적용하면 Go 애플리케이션에서 데이터베이스 관계를 효과적으로 관리할 수 있습니다.
위 내용은 Gorm for Go에서 외래 키 제약 조건을 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!