Turso 퀵스타트
Turso 퀵스타트 (PHP)
PHP에서도 libSQL 클라이언트를 쓰면 몇 단계 만에 Turso 데이터베이스와 연결할 수 있어요. Composer 설치부터 자격 증명 확인, 연결, 쿼리 실행, 선택적인 로컬 동기화까지 차례대로 안내해요.
출처: 문서
본문
이 PHP 퀵스타트에서 배울 내용은 다음과 같아요:
- Composer로 libSQL 설치하기
- 데이터베이스 자격 증명(credential) 가져오기
- Turso 데이터베이스에 연결하기
- SQL로 쿼리 실행하기
- 로컬 데이터베이스에 변경 사항 동기화하기 (선택)
단계별 진행
1. 데이터베이스 자격 증명 가져오기
계속하려면 기존 데이터베이스가 필요해요. 없다면 먼저 데이터베이스를 만들어 주세요. 데이터베이스 URL과 인증 토큰을 확보한 뒤에는 환경 변수로 저장해 두는 편이 좋아요.
2. 설치
composer로 프로젝트에 패키지를 설치해요.
composer require turso/libsql
3. 연결
libSQL 커넥터로 로컬 또는 원격 데이터베이스에 연결해요. 연결 방식은 상황에 맞게 고르면 돼요.
Embedded Replica (임베디드 레플리카)
use Libsql\Database;
$db = new Database(
path: 'test.db',
url: getenv('TURSO_URL'),
authToken: getenv('TURSO_AUTH_TOKEN')
syncInterval: 100 // Sync every second
);
$conn = $db->connect();
Local only (로컬 전용)
use Libsql\Database;
$db = new Database(path: "database.db");
또는 간단히 이렇게 써도 돼요.
use Libsql\Database;
$db = new Database("database.db");
Local only (로컬 전용)
use Libsql\Database;
$db = new Database(path: "database.db");
또는 간단히 이렇게 써도 돼요.
use Libsql\Database;
$db = new Database("database.db");
Remote only (원격 전용)
use Libsql\Database;
$db = new Database(
url: getenv('TURSO_URL'),
authToken: getenv('TURSO_AUTH_TOKEN'),
)
4. 실행
기존 데이터베이스에 대해 SQL 쿼리를 다음과 같이 실행할 수 있어요.
$createUsers = "
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);
INSERT INTO users (name, age) VALUES ('Prof. Ir. Onno Widodo Purbo, M.Eng., Ph.D', 61);
INSERT INTO users (name, age) VALUES ('Jim Geovedi', 41);
INSERT INTO users (name, age) VALUES ('Nasirun', 59);
";
$db->executeBatch($createUsers);
$db->query("SELECT * FROM users")->fetchArray();
값에 플레이스홀더를 쓰고 싶다면 아래처럼 하면 돼요.
$db->query("SELECT * FROM users WHERE id = ?", [1])->fetchArray();
$db->query("SELECT * FROM users WHERE id = :id", [":id" => 1])->fetchArray();
5. 동기화 (Embedded Replicas 전용)
임베디드 레플리카를 사용할 때는 데이터베이스 객체에서 sync()를 호출해 로컬 데이터베이스를 기본(primary) 데이터베이스와 동기화해야 해요.
<?php
$db->sync();
더 알아보기 (Learn more)
- PHP 레퍼런스 — PHP 클라이언트 API 전체 정리
- Laravel 연동 가이드 — Eloquent와 함께 Turso 쓰기
- Doctrine DBAL 연동 — Doctrine ORM과 함께 쓰기
- 빠른 시작 — 첫 Turso 데이터베이스 만들기