Cloudflare Durable Objects
New database
Meet Drizzle
Get started
Drizzle와 SQLite Durable Objects 시작하기
This guide assumes familiarity with:
- dotenv - 환경 변수를 관리하기 위한 패키지 - 자세히 보기
- tsx - TypeScript 파일을 실행하기 위한 패키지 - 자세히 보기
- Cloudflare SQLite Durable Objects - Durable Object 내에 내장된 SQLite 데이터베이스 - 자세히 보기
- wrangler - Cloudflare 개발자 플랫폼 커맨드라인 인터페이스 - 자세히 보기
기본 파일 구조
이 프로젝트의 기본 파일 구조입니다. src/db
디렉토리 안에는 schema.ts
파일에 테이블 정의가 있습니다. drizzle
폴더에는 SQL 마이그레이션 파일과 스냅샷이 있습니다.
1단계 - 필요한 패키지 설치
2단계 - wrangler.toml 설정
D1 데이터베이스를 사용하려면 wrangler.toml
파일이 필요합니다. 이 파일은 다음과 같이 구성됩니다:
3단계 - Drizzle ORM을 데이터베이스에 연결하기
4단계 - Wrangler 타입 생성하기
이 명령어를 실행하면 worker-configuration.d.ts
파일이 생성됩니다.
5단계 - 테이블 생성
src/db
디렉토리에 schema.ts
파일을 생성하고 테이블을 선언해 보겠습니다. 아래 코드는 users_table
이라는 테이블을 정의하며, 각 컬럼의 타입과 제약 조건을 설정합니다.
이 코드는 drizzle-orm
라이브러리를 사용하여 SQLite 데이터베이스의 테이블 스키마를 정의합니다. 각 컬럼은 타입과 제약 조건을 가지며, id
는 자동 증가하는 기본 키로 설정됩니다.
6단계 - Drizzle 설정 파일 설정하기
Drizzle 설정 파일은 Drizzle Kit에서 사용하는 구성 파일로, 데이터베이스 연결 정보, 마이그레이션 폴더, 스키마 파일 등에 대한 모든 정보를 포함합니다.
프로젝트 루트에 drizzle.config.ts
파일을 생성하고 다음 내용을 추가하세요:
7단계 - 데이터베이스에 변경 사항 적용하기
마이그레이션 생성하기:
Cloudflare Workers에서만 마이그레이션을 적용할 수 있습니다. 이를 위해 MyDurableObject
에 마이그레이션 기능을 정의해 보겠습니다:
8단계 - 데이터베이스 마이그레이션 및 쿼리 실행