Noh | エンジニア向け情報共有コミュニティ
Signup / Login

Cloudflare D1とDrizzleを組み合わせているときにDrizzleクエリを使用する

javascript
typescript
drizzle
cloudflare

投稿日: 2025/06/01

Drizzleでレコードを取得するとき、DrizzleクエリやSQL Selectなどの方法があります。

https://orm.drizzle.team/docs/rqb

DrizzleクエリはPrismaライクなメソッドで、SQL Selectはより生のSQLに近いメソッドです。

Cloudflare d1と組み合わせるドキュメントではSQL Selectが使われている例が書かれています。

実際に以下のようなコードを書いてみると.postsの部分でエラーになります。

const db = drizzle(c.env.DB) await db.query.posts.findMany()
Property 'posts' does not exist on type 'DrizzleTypeError<"Seems like the schema generic is missing - did you forget to add it to your DB type?">'.ts(2339)

Drizzleクエリを使った例が全く見つからないので対応してないのかと思いましたが、違いました。
以下のように第2引数でschemaを渡せばよかったです。

import * as schema from "../../../db/schema" const db = drizzle(c.env.DB, { schema }) await db.query.posts.findMany()
yosi

Noh を作ってるエンジニア。

目次