Turso 퀵스타트
Turso 퀵스타트 (Laravel)
Laravel 프로젝트에서 Turso를 쓰면 Eloquent ORM 그대로 Turso 데이터베이스를 다룰 수 있어요. 이 퀵스타트는 Turso Laravel 어댑터 설치부터 설정, 모델과 마이그레이션, CRUD 작업까지 차례대로 안내해요.
출처: 문서
본문
이 Laravel 퀵스타트에서 배울 내용은 다음과 같아요:
- Turso Laravel 어댑터 설치하기
- Turso를 사용하도록 Laravel 설정하기
- 모델과 마이그레이션 만들기
- Eloquent로 CRUD 작업 수행하기
단계별 진행
1. 데이터베이스 자격 증명 가져오기
계속하려면 기존 데이터베이스가 필요해요. 없다면 먼저 데이터베이스를 만들어 주세요. 데이터베이스 URL과 인증 토큰을 확보한 뒤에는 환경 변수로 저장해 두는 편이 좋아요.
2. 설치
Composer로 Laravel 프로젝트에 패키지를 설치해요.
composer require turso/libsql-laravel
참고: Laravel 어댑터를 사용하려면 PHP 설정에서 FFI를 활성화해야 해요.
3. 설정
원하는 구성을 골라 그에 맞게 설정해요.
Local only (로컬 전용)
config/database.php를 수정해요.
return [
"default" => env("DB_CONNECTION", "libsql"),
"connections" => [
"libsql" => [
"driver" => "libsql",
"database" => database_path("database.db"),
],
// ...
],
];
이 구성은 libSQL 어댑터로 로컬 SQLite 파일을 사용해요.
Remote only (원격 전용)
config/database.php를 수정해요.
return [
"default" => env("DB_CONNECTION", "libsql"),
"connections" => [
"libsql" => [
"driver" => "libsql",
"url" => env("TURSO_DATABASE_URL"),
"password" => env("TURSO_AUTH_TOKEN"),
],
// ...
],
];
그다음 .env 파일에 추가해요.
DB_CONNECTION=libsql
TURSO_DATABASE_URL=libsql://...
TURSO_AUTH_TOKEN=...
Embedded Replicas (임베디드 레플리카)
config/database.php를 수정해요.
return [
"default" => env("DB_CONNECTION", "libsql"),
"connections" => [
"libsql" => [
"driver" => "libsql",
"database" => database_path("database.db"),
"url" => env("TURSO_DATABASE_URL"),
"password" => env("TURSO_AUTH_TOKEN"),
"sync_interval" => env("TURSO_SYNC_INTERVAL", 300),
],
// ...
],
];
그다음 .env 파일에 추가해요.
DB_CONNECTION=libsql
TURSO_DATABASE_URL=libsql://...
TURSO_AUTH_TOKEN=...
TURSO_SYNC_INTERVAL=300
참고:
sync_interval은 선택 사항이고 기본값은 300초(5분)예요.
4. 모델과 마이그레이션 만들기
User 모델과 마이그레이션을 만들어요.
php artisan make:model User -m
마이그레이션 파일을 수정해요.
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}
5. 마이그레이션 실행하기
마이그레이션을 적용해 users 테이블을 만들어요.
php artisan migrate
6. CRUD 작업 실행하기
이제 Eloquent로 CRUD 작업을 수행할 수 있어요.
use App\Models\User;
$user = User::create([
'name' => 'John Doe',
'email' => '[email protected]',
]);
use App\Models\User;
// Fetch all users
$allUsers = User::all();
// Find a specific user by ID
$user = User::find(1);
// Filter users
$filteredUsers = User::where('name', 'John Doe')->get();
use App\Models\User;
// Update a single record
$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();
// Update multiple records
User::where('name', 'John Doe')->update(['name' => 'Jane Doe']);
use App\Models\User;
// Delete a single record
$user = User::find(1);
$user->delete();
// Delete multiple records
User::where('name', 'Jane Doe')->delete();
더 알아보기 (Learn more)
- PHP 퀵스타트 — PHP용 libSQL 클라이언트 기본 사용법
- PHP 레퍼런스 — PHP 클라이언트 API 전체 정리
- Doctrine DBAL 연동 — Doctrine ORM과 함께 쓰기
- 빠른 시작 — 첫 Turso 데이터베이스 만들기