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

Turso 퀵스타트

원문 보기 위키 갱신

Turso 퀵스타트 (Ruby)

libSQL 클라이언트를 쓰면 Ruby 프로젝트에서도 몇 단계 만에 Turso와 연결할 수 있어요. 자격 증명 확인부터 패키지 설치, 연결, 쿼리 실행, 선택적인 로컬 동기화까지 차례대로 안내해요.

출처: 문서

본문

이 기능은 기술 프리뷰(technical preview) 상태예요.

이 Ruby 퀵스타트에서 배울 내용은 다음과 같아요:

  • 데이터베이스 자격 증명(credential) 가져오기
  • libSQL 패키지 설치하기
  • 로컬 또는 원격 Turso 데이터베이스에 연결하기
  • SQL로 쿼리 실행하기
  • 로컬 데이터베이스에 변경 사항 동기화하기 (선택)

단계별 진행

1. 데이터베이스 자격 증명 가져오기

계속하려면 기존 데이터베이스가 필요해요. 없다면 먼저 데이터베이스를 만들어 주세요. 데이터베이스 URL과 인증 토큰을 확보하세요. 모바일 환경이라면 비밀 값을 앱 바이너리에 그대로 두지 않도록 주의하세요.

2. 설치

Ruby 프로젝트 안에서 다음 Rubygem을 설치해요.

bundle add turso_libsql

3. 연결

연결 방식은 상황에 맞게 고르면 돼요.

Embedded Replicas (임베디드 레플리카)

require 'turso_libsql'

db =Libsql::Database.new(
  path: 'local.db',
  url: ENV['TURSO_DATABASE_URL'],
  auth_token: ENV['TURSO_AUTH_TOKEN'],
  sync_interval: 100
)

Local only (로컬 전용)

require 'turso_libsql'

db = Libsql::Database.new(path: 'local.db')

Remote only (원격 전용)

require 'turso_libsql'

db = Libsql::Database.new(
  url: ENV['TURSO_DATABASE_URL'],
  auth_token: ENV['TURSO_AUTH_TOKEN']
)

4. 실행

문(statement)을 준비한 뒤 실행하는 방식으로 기존 데이터베이스에 SQL 쿼리를 실행할 수 있어요.

db.connect do |conn|
  rows = conn.query 'SELECT * FROM users'
  rows.close
end

값에 플레이스홀더를 쓰고 싶다면 아래처럼 하면 돼요.

name = 'Iku'
rows = conn.execute 'INSERT INTO users (id) VALUES (?)', [name]

5. 동기화 (Embedded Replicas 전용)

임베디드 레플리카를 사용할 때는 데이터베이스에서 sync를 호출해 로컬 데이터베이스를 기본(primary) 데이터베이스와 동기화해야 해요. sync_interval을 쓰는 경우가 아니라면요(물론 sync_interval이 켜져 있어도 sync를 호출해도 문제는 없어요).

db.sync

더 알아보기 (Learn more)