프로젝트 소개

GORM은 개발자 친화적인 Go 프로그래밍 언어용 오픈소스 객체 관계 매핑(ORM) 라이브러리입니다. README에 따르면, 광범위한 기능을 갖춘 완전한 ORM을 제공합니다. 주요 기능으로는 Has One, Has Many, Belongs To, Many To Many, Polymorphism, 단일 테이블 상속과 같은 연관이 있습니다. Before/After Create, Save, Update, Delete, Find 작업용 후크를 지원합니다. Preload와 Joins를 통한 탐색 로딩이 가능합니다. 트랜잭션, 중첩 트랜잭션, 저장점, 저장된 지점으로 롤백을 지원합니다. 추가 기능으로는 Context 지원, 준비된 명령어 모드, DryRun 모드가 있습니다. 대량 삽입, FindInBatches, Find To Map가 제공됩니다. SQL 빌더가 포함되어 있으며, Upsert, 락킹, 최적화기/인덱스/주석 힌트, NamedArg, SQL Expr을 사용한 검색/업데이트/생성을 지원합니다. 복합 기본 키와 자동 마이그레이션이 지원되며, 로거도 제공됩니다. README는 확장 가능하고 유연한 플러그인 API를 강조하며, 다중 데이터베이스 및 읽기/쓰기 분할을 위한 데이터베이스 해석자, Prometheus 통합 예시를 제시합니다. 모든 기능이 테스트가 포함되어 있다고 설명합니다. 문서는 gorm.io의 GORM 가이드와 gorm.io/gen의 Gen 가이드에서 확인할 수 있습니다. 프로젝트는 기여를 환영하며, 기여 페이지로 연결됩니다. MIT 라이선스로 배포되며, 저작권은 2013년 이후 진즈우(Jinzhu)에게 있습니다.