Apple 및 Linux 앱을 위해 쿼리 빌더와 타입이 지정된 데이터 접근 기능을 제공하는, SQLite3 기반의 타입 안전 Swift 레이어입니다.
groue/GRDB.swift
앱 개발을 위한 레코드 저장, 쿼리 인터페이스, 마이그레이션, 데이터베이스 관찰 기능을 제공하는 Swift용 SQLite 툴킷입니다.
- 스타
- 8,726
- 포크
- 1,108
- 열린 이슈
- 13
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
GRDB.swift는 애플리케이션 데이터를 SQLite 데이터베이스에 저장하는 Swift 라이브러리입니다. Swift 구조체와 클래스를 테이블에 매핑하고 데이터를 가져오거나 저장하는 메서드를 제공하므로, 일반적인 작업에서는 SQL을 작성하거나 원시 행 데이터를 처리하지 않아도 됩니다. 필요할 때는 원시 SQL을 직접 작성할 수도 있습니다.
이 라이브러리는 요청을 구성하는 Swift 쿼리 인터페이스, 앱 버전이 바뀌어도 스키마를 발전시킬 수 있는 마이그레이션 시스템, 전문 검색 기능을 제공합니다. 데이터베이스 관찰 기능은 저장된 값이 변경될 때 알림을 보내며, Swift concurrency, Combine, RxSwift와 바로 연동할 수 있습니다. 데이터베이스 연결 방식으로는 DatabaseQueue와 DatabasePool이 있으며, 후자는 동시 읽기와 쓰기를 위해 WAL 모드를 사용합니다.
GRDB는 iOS, macOS, tvOS, watchOS를 지원하며 Swift Package Manager, CocoaPods 또는 수동으로 설치할 수 있습니다. 함께 제공되는 라이브러리로는 SwiftUI 연동과 데이터베이스 콘텐츠의 스냅샷 테스트를 지원하는 라이브러리가 있습니다.
핵심 기능
- 01Swift 구조체와 클래스를 테이블에 매핑하고, 데이터를 가져오고 저장하는 메서드를 기본으로 제공합니다.
- 02SQL 요청을 구성하는 Swift 쿼리 인터페이스와 안전한 인자 바인딩을 지원하는 원시 SQL을 제공합니다.
- 03앱 버전이 바뀌어도 데이터베이스를 발전시킬 수 있는 스키마 마이그레이션을 지원합니다.
- 04변경 사항을 알리는 데이터베이스 관찰 기능과 Combine, RxSwift, 비동기 시퀀스 지원을 제공합니다.
- 05DatabaseQueue와 DatabasePool 연결 방식을 제공하며, WAL 모드를 통해 동시 읽기와 쓰기를 지원합니다.
- 06전문 검색과 선택적 SQLCipher 암호화를 지원합니다.
활용 사례
- iOS 또는 macOS 앱에서 사용자 데이터와 모델을 저장합니다.
- 데이터베이스 변경 사항을 관찰해 SwiftUI 또는 UIKit 뷰를 최신 상태로 유지합니다.
- 마이그레이션을 사용해 연속된 앱 릴리스 간 스키마 변경을 관리합니다.
- SQLite에 데이터를 로컬로 저장하는 오프라인 우선 앱을 구축합니다.
빠른 시작
- 1
저장소 URL을 사용해 Swift Package Manager로 프로젝트에 GRDB를 추가합니다
- 2
GRDB를 가져오고 데이터베이스 연결을 엽니다
사용 전 알아둘 점
- Apple 플랫폼(iOS, macOS, tvOS, watchOS)을 대상으로 하며 Swift 6.1 이상이 필요합니다.
- Carthage는 지원되지 않으며 CocoaPods에는 새 버전을 배포할 수 없으므로, 이후 릴리스에서는 git 브랜치나 태그를 사용하는 우회 방법이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- GRDB.swift은(는) 무엇인가요?
- 앱 개발을 위한 레코드 저장, 쿼리 인터페이스, 마이그레이션, 데이터베이스 관찰 기능을 제공하는 Swift용 SQLite 툴킷입니다. GRDB.swift는 애플리케이션 데이터를 SQLite 데이터베이스에 저장하는 Swift 라이브러리입니다. Swift 구조체와 클래스를 테이블에 매핑하고 데이터를 가져오거나 저장하는 메서드를 제공하므로, 일반적인 작업에서는 SQL을 작성하거나 원시 행 데이터를 처리하지 않아도 됩니다. 필요할 때는 원시 SQL을 직접 작성할 수도 있습니다.
- GRDB.swift은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- GRDB.swift은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- GRDB.swift은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. GRDB.swift의 마지막 커밋은 2026년 11월 5일입니다.
- GRDB.swift은(는) 어디에 사용할 수 있나요?
- iOS 또는 macOS 앱에서 사용자 데이터와 모델을 저장합니다. 데이터베이스 변경 사항을 관찰해 SwiftUI 또는 UIKit 뷰를 최신 상태로 유지합니다. 마이그레이션을 사용해 연속된 앱 릴리스 간 스키마 변경을 관리합니다. SQLite에 데이터를 로컬로 저장하는 오프라인 우선 앱을 구축합니다.
- GRDB.swift는 어떻게 설치하나요?
- 저장소 URL을 사용해 Swift Package Manager로 프로젝트에 GRDB를 추가합니다 GRDB를 가져오고 데이터베이스 연결을 엽니다
- GRDB.swift은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/groue/GRDB.swift
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
다양한 SQL 및 NoSQL 데이터베이스를 지원하고 Active Record와 Data Mapper 패턴을 모두 사용할 수 있는 Node.js 및 기타 JS 플랫폼용 TypeScript·JavaScript ORM입니다.
PostgreSQL, MySQL, SQLite, MariaDB에서 컴파일 시점에 쿼리를 검사하는 안전하고 확장 가능한 Rust ORM 및 쿼리 빌더입니다.
iOS, macOS, watchOS, tvOS 앱에서 Apple Core Data를 타입 안전하고 동시성 안전한 API로 사용할 수 있게 해주는 Swift 라이브러리입니다.
Apple 플랫폼과 Linux에서 OpenAI 공개 API를 호출하고 다양한 OpenAI 호환 제공자를 지원하는 Swift 패키지입니다.
SQL 및 NoSQL 데이터베이스를 지원하고 AI 채팅과 MCP 서버를 내장한 macOS·iOS용 무료 오픈소스 네이티브 데이터베이스 클라이언트입니다.