본문 바로가기
WIKI 기술 지식 베이스

Turso 퀵스타트

원문 보기 위키 갱신

Turso 퀵스타트 (Swift)

Swift에서 libSQL 클라이언트로 Turso를 시작하는 절차를 몇 단계로 정리해 드릴게요. 자격 증명 확인부터 패키지 설치, 연결, 쿼리 실행, 동기화까지 순서대로 따라오세요.

출처: 문서

본문

이 Swift 퀵스타트에서 우리는 다음을 배워요:

  • 데이터베이스 자격 증명 확인하기
  • libSQL 패키지 설치하기
  • 로컬 또는 원격 Turso 데이터베이스에 연결하기
  • SQL로 쿼리 실행하기
  • 로컬 데이터베이스로 동기화하기 (선택)

Retrieve database credentials

계속하려면 기존 데이터베이스가 필요해요. 없다면 만드세요.

데이터베이스 자격 증명을 받아서 환경 변수로 저장해 두세요. 모바일 앱이라면 시크릿을 앱에 하드코딩하지 말고 안전하게 보관하는 게 중요해요.

Install

먼저 이 저장소로 libsql을 Xcode 패키지 의존성으로 추가해 보세요: libSQL Swift — 소스 코드에서 빌드하는 방식이에요.

또는 SwiftPM 의존성에 추가할 수도 있어요:

import PackageDescription

let package = Package(
    // ...
    dependencies: [
        .package(url: "https://github.com/tursodatabase/libsql-swift", from: "0.1.1"),
    ],
    // ...
)

Connect

먼저 Database 객체를 만들고, 그다음 Connection을 열어야 해요.

Embedded Replicas

import Libsql

let db = try Database(
    path: "./local.db",
    url: "TURSO_DATABASE_URL",
    authToken: "TURSO_AUTH_TOKEN",
    syncInterval: 300
)

let conn = try db.connect()

Local only

import Libsql

let db = try Database(
    path: "./local.db",
)

let conn = try db.connect()

Remote only

import Libsql

let db = try Database(
    url: "TURSO_DATABASE_URL",
    authToken: "TURSO_AUTH_TOKEN"
)

let conn = try db.connect()

Execute

기존 데이터베이스에 SQL 쿼리를 실행하려면 query()를 호출하고, 행을 반환하지 않을 것으로 예상되는 쿼리에는 execute()를 쓰면 돼요:

let rows = try conn.query("SELECT * FROM users")

값에 플레이스홀더가 필요하다면 이렇게 할 수 있어요:

Positional Query

try conn.query("SELECT * FROM users WHERE id = ?", 1)

Positional Insert

try conn.execute("INSERT INTO users (id) VALUES (?)", 1)

참고로, named 인자는 아직 지원되지 않아요.

Sync (Embedded Replicas only)

Embedded Replicas를 쓸 때는 sync_interval을 사용하는 게 아니라면 데이터베이스 타입에 sync()를 호출해서 로컬 데이터베이스를 primary와 동기화해야 해요(sync_interval을 켠 상태에서 sync를 호출해도 문제는 없어요):

try db.sync()

더 알아보기 (Learn more)