Drizzle <> Turso Cloud
This guide assumes familiarity with:
**공식 웹사이트**에 따르면, Turso는 libSQL 기반의 엣지 SQLite 데이터베이스 서비스입니다.
Drizzle ORM은 libSQL 드라이버를 기본적으로 지원합니다.
우리는 SQL 방언과 방언별 드라이버 및 문법을 지원하며, 가장 널리 사용되는
SQLite 스타일의 all, get, values, run 쿼리 메서드 문법을 제공합니다.
1단계 - 패키지 설치
npm
yarn
pnpm
bun
npm i drizzle-orm @libsql/client
npm i -D drizzle-kit
2단계 - 드라이버 초기화
Drizzle은 모든 @libsql/client 드라이버 변형을 기본적으로 지원합니다:
@libsql/client | defaults to node import, automatically changes to web if target or platform is set for bundler, e.g. esbuild --platform=browser |
@libsql/client/node | node compatible module, supports :memory:, file, wss, http and turso connection protocols |
@libsql/client/web | module for fullstack web frameworks like next, nuxt, astro, etc. |
@libsql/client/http | module for http and https connection protocols |
@libsql/client/ws | module for ws and wss connection protocols |
@libsql/client/sqlite3 | module for :memory: and file connection protocols |
@libsql/client-wasm | Separate experimental package for WASM |
default
node
web
http
web sockets
wasm
import { drizzle } from 'drizzle-orm/libsql';
const db = drizzle({ connection: {
url: process.env.DATABASE_URL,
authToken: process.env.DATABASE_AUTH_TOKEN
}});기존 드라이버를 제공해야 하는 경우:
default
web
import { drizzle } from 'drizzle-orm/libsql';
import { createClient } from '@libsql/client';
const client = createClient({
url: process.env.DATABASE_URL,
authToken: process.env.DATABASE_AUTH_TOKEN
});
const db = drizzle({ client });
const result = await db.select().from(users).all()3단계 - 쿼리 실행
import { drizzle } from 'drizzle-orm/libsql';
import * as s from 'drizzle-orm/sqlite-core';
const db = drizzle({ connection: {
url: process.env.DATABASE_URL,
authToken: process.env.DATABASE_AUTH_TOKEN
}});
const users = s.sqliteTable("users", {
id: s.integer(),
name: s.text(),
})
const result = await db.select().from(users);