クイックスタート
インストール¶
pnpm add drizzle-orm pg dotenv
pnpm add -D drizzle-kit tsx @types/pg
Migrationの流れ¶
手順を追ってマイグレーション
# マイグレーションファイルを作って
npx drizzle-kit generate
# それをマイグレーション
npx drizzle-kit migrate
# それをDBに適用
npx drizzle-kit push
# 既存のDBからschema.tsを出力する
pnpm drizzle-kit pull
※2024/11現在はダウングレードは実装されていない。
使い方¶
設定ファイル¶
ワークディレクトリ直下にdrizzle.config.ts
を配置する。
import 'dotenv/config';
import { defineConfig } from 'drizzle-kit';
export default defineConfig({
// マイグレーションファイルの吐き出し場所
out: './db/drizzle',
// スキーマファイルの場所
schema: './db/schema.ts',
dialect: 'postgresql',
dbCredentials: {
url: process.env.DATABASE_URL!,
},
});
設定ファイル¶
// スキーマファイルからスキーマをインポート
import { word } from "@/db/drizzle/schema";
// filter(where)のオプションのいろいろ
import { eq } from "drizzle-orm";
const db = drizzle(process.env.DATABASE_URL!);
export async function fetchData() {
const words = await db.select().from(
word
).where(
eq(word.vocabularyBooksId, vocaId)
);
return words;
}
Filters