0. 前提
- Next.js 14(App Router)
- DBはVercel Postgresを利用する
1. プロジェクトを作成
2. ライブラリをインストール
3. drizzleの下準備
Drizzle Kitのコマンド実行のために、ECMAScriptのバージョンを切り替える。
4. DBの接続情報を追加
利用するDBのURLを環境変数に設定する(今回はVercel Postgresを利用するので、管理画面から取得した)。
5. configファイルの実装
スキーマを設定するschemas
ディレクトリと、マイグレーションファイルを出力するmigrations
ディレクトリを作成する。
各種設定のためのdrizzle.config.ts
を作成し、先ほどのディレクトリ達を指定する。
またDrizzle Kitコマンド実行時にも環境変数を参照したいので、loadEnvConfig
を呼び出しておく。
6. スキーマの宣言
今回はサンプルとして簡易なusers
テーブルを作成する。
7. DBに接続
8. マイグレーション
8-1. ファイルの作成
Drizzle Kitのコマンドをnpm scriptsに設定しておく。今回はconfigファイルをルートに作成していないので、オプションで明示的にパスを指定する。
叩く。
するとmigrations
下に、宣言したスキーマにマイグレートするためのSQLファイルが作成されている。
8-2. 実行
これでDBにスキーマの変更が反映された。
9. CRUDを試す
Drizzle Studioを起動し、users
テーブルに適当なレコードを追加する。
任意のコンポーネント内でdrizzleのクエリを用いてusers
をSELECTしてみると、先程追加したレコードが取得できた。
12