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

turso dev

원문 보기 위키 갱신

"로컬에서 가볍게 Turso를 써 보고 싶다"면 이 문서부터 보면 돼요. 로컬 데이터베이스 파일부터 turso dev로 띄우는 libSQL 서버, GUI 연결 도구까지 로컬 개발 방법을 정리했어요.

출처: 문서

본문

Local Development

로컬 Turso 데이터베이스 또는 로컬 libSQL 서버로 로컬에서 빌드해요.

개발자는 다음 두 가지 방법 중 하나로 Turso를 로컬에서 빌드할 수 있어요:

로컬에서 덤프 사용하기

운영(production) 데이터베이스를 덤프해서 로컬 개발에 쓸 수도 있어요:

```bash turso db shell your-database .dump > dump.sql ``` ```bash cat dump.sql | sqlite3 local.db ``` 아래 방법 중 하나로 `local.db` 파일을 사용할 수 있고, 처음부터 새로 만들고 싶다면 다른 파일 이름을 써도 돼요.

로컬 Turso 데이터베이스

애플리케이션이 로컬 데이터베이스를 대상으로 동작할 때는 Turso 패키지를 추천해요. 완전히 SQLite 호환이라 기존 SQLite 파일도 열 수 있고, 서버 없이 프로세스 안에서 전부 동작해요:

```ts JavaScript import { connect } from "@tursodatabase/database";

const db = await connect("local.db");


```rust Rust
use turso::Builder;

let db = Builder::new_local("local.db").build().await?;
let conn = db.connect()?;
package main

import (
  "database/sql"

  _ "turso.tech/database/tursogo"
)

func main() {
  db, _ := sql.Open("turso", "local.db")
  defer db.Close()
}
import turso

db = turso.connect("local.db")

개발 환경에서는 `authToken`을 제공할 필요가 없어요. 매끄러운 개발 경험을 위해 `url`과 `authToken` 모두 환경 변수로 쓰는 걸 추천해요.

Turso CLI

libSQL 데이터베이스를 대상으로 개발하면서 extensions 같은 libSQL 고유 기능을 쓴다면 Turso CLI를 사용하세요:

turso dev

이 명령은 로컬 libSQL 서버를 시작하고 데이터베이스를 만들어 줘요. 이후 libSQL 클라이언트에서 url 옵션으로 접속할 수 있어요:

import { createClient } from "@libsql/client";

const client = createClient({
  url: "http://127.0.0.1:8080",
});

같은 URL을 다른 언어용 libSQL 클라이언트에서도 쓸 수 있어요.


서버를 멈추면 변경 사항이 사라져요.

변경 사항을 유지하거나 운영 덤프를 쓰고 싶다면, SQLite 파일 이름과 함께 --db-file 플래그를 전달해요:

turso dev --db-file local.db

Turso Cloud 데이터베이스

Turso Cloud에 이미 만들어 둔 데이터베이스가 있다면, SDK에 url 옵션을 전달해 개발할 때 그 데이터베이스를 그대로 쓸 수 있어요.

Turso Cloud 호스팅 데이터베이스를 사용하면 플랫폼 비용이 발생하고 할당량(quota)에도 포함된다는 점을 유의하세요. 플랫폼 비용을 피하려면 위의 로컬 방법 중 하나를 고려해요.

GUI 연결하기

개발할 때는 아래 도구 중 하나로 SQLite, libSQL, Turso 데이터베이스에 쉽게 연결할 수 있어요:

더 알아보기 (Learn more)

공식 문서(https://docs.turso.tech/local-development)에서 최신 내용을 확인하세요.