개인 정리용

[Drizzle] 스펙 변경

0xff 2024. 7. 1. 03:13

drizzle의 latest release부터는 config 작성 및 migration 방법에 변경사항이 생겼다.

 

1. drizzle.config.ts

 

기존에는 JSON 형식으로 작성한 뒤, satisfied Config를 붙여서 타입 정의를 했었다.

또한 driver를 정의했었는데, 현재는 다음과 같이 변경되었다.

 

import { defineConfig } from 'drizzle-kit';
import 'dotenv/config';

export default defineConfig({
	schema: './src/lib/server/database/schema/index.ts',
	out: './drizzle',
	dialect: 'mysql',
	dbCredentials: {
		host: process.env.MYSQL_DATABASE_HOST!,
		port: parseInt(process.env.MYSQL_DATABASE_PORT!),
		user: process.env.MYSQL_DATABASE_USERNAME!,
		password: process.env.MYSQL_DATABASE_PASSWORD!,
		database: process.env.MYSQL_DATABASE_NAME!
	}
});

 

driver -> dialect

 

dialect는 mysql, postgresql, sqlite 만 들어가게 바꼈다.

 

또한 이제 defineConfig 함수를 사용해서 config를 작성하게 되었음을 알 수 있다.

 

 

2. migrate

 

generate 명령어에 사소한 변경사항이 생겼다.

 

pnpm drizzle-kit generate

generate:mysql 과 같이 드라이버를 명시해주지 않아도 된다.

 

최신버전을 설치하면 기존 명령어는 아예 호환이 안된다.

deprecated 되었다고 작동하질 않는다.