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)
- Swift SDK 레퍼런스 — 전체 API 한눈에 보기
- 데이터베이스 자격 증명 — URL과 토큰 발급 방법
- Embedded Replicas — 로컬 읽기 복제본 개념 정리
- Rust 퀵스타트 — 다른 언어 예제도 살펴보기