node-postgres - PostgreSQL 데이터베이스를 쿼리하기 위한 패키지 - 여기서 읽어보기
Drizzle는 node-postgres와 postgres.js 드라이버를 통해 PostgreSQL 연결을 기본적으로 지원합니다.
이 시작 예제에서는 node-postgres를 사용할 것입니다. PostgreSQL에 연결하는 더 많은 방법을 찾고 싶다면 PostgreSQL 연결 페이지를 확인하세요.
기본 파일 구조
이 프로젝트의 기본 파일 구조입니다. src/db 디렉토리 안에는 schema.ts 파일에 테이블 정의가 있습니다. drizzle 폴더에는 SQL 마이그레이션 파일과 스냅샷이 있습니다.
1단계 - node-postgres 패키지 설치하기
npm
yarn
pnpm
bun
2단계 - 연결 변수 설정하기
프로젝트 루트 디렉토리에 .env 파일을 생성하고 데이터베이스 연결 변수를 추가하세요:
팁
아직 PostgreSQL 데이터베이스가 없고 테스트용으로 하나를 만들고 싶다면, Docker에서 PostgreSQL을 설정하는 방법에 대한 가이드를 참고하세요.
Docker에서 PostgreSQL 설정 가이드는 여기에서 확인할 수 있습니다. 가이드를 따라 설정하고 데이터베이스 URL을 생성한 후(가이드에서 설명됨), 다음 단계를 진행하세요.
3단계 - Drizzle ORM을 데이터베이스에 연결하기
src/db 디렉토리에 index.ts 파일을 생성하고 데이터베이스 연결을 초기화해 보겠습니다.
node-postgres
node-postgres with config
your node-postgres driver
4단계 - 테이블 생성
src/db 디렉토리에 schema.ts 파일을 생성하고 테이블을 선언해 보겠습니다.
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으로 스크립트를 실행하려면 다음 명령어를 사용하세요: