Skip to content

개요

SQLDelight 2.0

현재 SQLDelight 1.x를 사용 중이라면, SQLDelight 2.0으로 업그레이드하는 방법에 대한 문서를 확인하세요!

SQLDelight는 SQL 문(statement)으로부터 타입-세이프(typesafe)한 Kotlin API를 생성합니다. 컴파일 시점(compile-time)에 스키마, 문 및 마이그레이션을 검증하며, 자동 완성(autocomplete) 및 리팩토링(refactoring)과 같은 IDE 기능을 제공하여 SQL 작성 및 유지를 간단하게 만듭니다.

SQLDelight는 기존 SQL 스키마를 가져와서,

sql
CREATE TABLE hockey_player (
  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  number INTEGER NOT NULL
);

SQL 문과 쿼리를 실행하기 위한 타입-세이프한 코드를 생성합니다.

intro.gif


지원되는 다이얼렉트 및 플랫폼

SQLDelight는 다양한 SQL 다이얼렉트와 플랫폼을 지원합니다.

서드파티 다이얼렉트

CockroachDB


JVM

DB2


JVM

Oracle DB


JVM

스냅샷

개발 버전의 스냅샷(IDE 플러그인 ZIP 포함)은 Sonatype의 snapshots 저장소에서 이용할 수 있습니다. 참고로, 2.0.0+ SNAPSHOTs의 경우 모든 코디네이트가 com.squareup.sqldelight 대신 app.cash.sqldelight입니다.

최신 스냅샷 버전에 대한 문서 페이지는 여기에서 찾을 수 있습니다.

kotlin
// settings.gradle.kts
pluginManagement {
    repositories {
        gradlePluginPortal()
        maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
    }
}

// build.gradle.kts
plugins {
    id("app.cash.sqldelight") version "SNAPSHOT-VERSION"
}

repositories {
    maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
}
groovy
// settings.gradle
pluginManagement {
    repositories {
        gradlePluginPortal()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
}

// build.gradle
plugins {
    id "app.cash.sqldelight" version "SNAPSHOT-VERSION"
}

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

IntelliJ에서 알파 채널(https://plugins.jetbrains.com/plugins/alpha/com.squareup.sqldelight)을 사용하여 알파(Alpha) IDE 플러그인도 이용할 수 있습니다. 스냅샷은 EAP 채널(https://plugins.jetbrains.com/plugins/eap/com.squareup.sqldelight)에서도 이용할 수 있습니다.

IntelliJ_alpha_channel