Drizzle를 SingleStore 데이터베이스와 함께 사용하려면 singlestore 드라이버를 사용해야 합니다.
**공식 웹사이트**에 따르면, mysql2는 성능에 초점을 맞춘 Node.js용 MySQL 클라이언트입니다.
Drizzle ORM은 SingleStore 데이터베이스를 위해 drizzle-orm/singlestore 패키지를 통해 mysql2를 기본적으로 지원합니다.
기본 파일 구조
이 프로젝트의 기본 파일 구조입니다. src/db 디렉토리 안에는 schema.ts 파일에 테이블 정의가 있습니다. drizzle 폴더에는 SQL 마이그레이션 파일과 스냅샷이 있습니다.
1단계 - mysql2 패키지 설치
npm
yarn
pnpm
bun
2단계 - 연결 변수 설정
프로젝트 루트 디렉토리에 .env 파일을 생성하고 데이터베이스 연결 변수를 추가하세요:
3단계 - Drizzle ORM을 데이터베이스에 연결하기
src/db 디렉토리에 index.ts 파일을 생성하고 연결을 초기화하세요:
mysql2
mysql2 with config
your mysql2 driver
IMPORTANT
DDL 마이그레이션과 함께 제공되는 migrate 함수를 사용할 때는 단일 client 연결을 사용하는 것을 강력히 권장합니다.
쿼리 목적의 경우 비즈니스 요구에 따라 client 또는 pool을 자유롭게 사용하세요.
4단계 - 테이블 생성
src/db 디렉토리에 schema.ts 파일을 생성하고 테이블을 선언해 보겠습니다.
Step 5 - Drizzle 설정 파일 설정하기
Drizzle 설정 파일 - Drizzle Kit에서 사용하는 설정 파일로, 데이터베이스 연결 정보, 마이그레이션 폴더, 스키마 파일 등 모든 정보를 포함합니다.
프로젝트 루트에 drizzle.config.ts 파일을 생성하고 다음 내용을 추가하세요:
6단계 - 데이터베이스에 변경 사항 적용하기
drizzle-kit push 커맨드를 사용하면 데이터베이스에 직접 변경 사항을 적용할 수 있습니다. 이 방법은 로컬 개발 환경에서 새로운 스키마 디자인이나 수정 사항을 빠르게 테스트할 때 유용합니다. 마이그레이션 파일을 관리할 필요 없이 빠르게 반복 작업을 진행할 수 있습니다:
src/index.ts 파일을 사용자 생성, 조회, 수정, 삭제 쿼리로 업데이트해 보겠습니다.
8단계 - index.ts 파일 실행하기
TypeScript 파일을 실행하는 방법은 여러 가지가 있지만, 여기서는 tsx를 사용하는 방법을 살펴보겠습니다.
이미 tsx를 설치했으므로, 이제 쿼리를 실행할 수 있습니다.
index.ts 스크립트 실행하기
팁
TypeScript 파일을 실행할 때 bun을 사용하는 것을 추천합니다. bun을 사용하면 프로젝트가 CommonJS(CJS), ECMAScript Modules(ESM) 또는 다른 모듈 형식으로 구성되어 있더라도 추가 설정 없이 스크립트를 실행할 수 있습니다. bun으로 스크립트를 실행하려면 다음 명령어를 사용하세요: