Skip to content

시작하기

SQLDelight 2.0

현재 SQLDelight 1.x를 사용 중이라면, SQLDelight 2.0으로의 업그레이드 문서를 확인해 보세요!

SQLDelight는 SQL 문(SQL statements)을 바탕으로 타입 안전한(typesafe) Kotlin API를 생성합니다. 컴파일 시점에 스키마, 문, 마이그레이션을 검증하며, 자동 완성 및 리팩터링과 같은 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


지원되는 방언(Dialects) 및 플랫폼

SQLDelight는 다양한 SQL 방언과 플랫폼을 지원합니다.

제3자(Third party) 방언

CockroachDB


JVM

DB2


JVM

Oracle DB


JVM

스냅샷(Snapshots)

개발 버전의 스냅샷(IDE 플러그인 zip 포함)은 Central Portal Snapshots 저장소에서 확인할 수 있습니다. 2.0.0+ 스냅샷의 경우 모든 좌표(coordinates)가 com.squareup.sqldelight 대신 app.cash.sqldelight를 사용함에 유의하세요.

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

kotlin
// settings.gradle.kts
pluginManagement {
    repositories {
        gradlePluginPortal()
        maven(url = "https://central.sonatype.com/repository/maven-snapshots")
    }
}

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

repositories {
    maven(url = "https://central.sonatype.com/repository/maven-snapshots")
}
groovy
// settings.gradle
pluginManagement {
    repositories {
        gradlePluginPortal()
        maven { url "https://central.sonatype.com/repository/maven-snapshots" }
    }
}

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

repositories {
    maven { url "https://central.sonatype.com/repository/maven-snapshots" }
}

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

IntelliJ_alpha_channel