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)
- Ruby 예제 모음 — 로컬, 원격, 동기화, 벡터 등 동작하는 예제
- 임베디드 레플리카 — 로컬 replica 동기화 개념 이해하기
- 빠른 시작 — 첫 Turso 데이터베이스 만들기
- 데이터베이스 토큰 — 인증 토큰 관리 방법