先日 Turso を試した記事を投稿して Twitter で共有したら、Turso の CEO がすこぶる喜んでくれていた。
ORMとマイグレーションツール試したいと書いたら、Drizzle ORM を紹介してくれたのでこちらを試したい。
Drizzle ORM を始め上手いこと動かせなかったが、これもまた Drizzle ORM の開発者に助けられた。
できたことをまとめておきたい。
参考
実装
drizzle-orm を使用した実装は次のようになる。
1 | import "https://deno.land/std@0.182.0/dotenv/load.ts"; |
動かしてみると、次のようになる。
1 | $ deno run -A .\turso-connect-drizzle-test.ts |
注意事項
試す中でできなかったことがいくつかあった。
マイグレーション
Drizzle ORM は関連ツールとしてマイグレーションツール(というか スキーム=>SQL の変換ツール) があるがこれは、Deno で動かない。
Issue が出ているので、そのうち改善すると思われるので待ちたい。
github.com - drizzle-team/drizzle-orm - Issues - Add Deno support
一部のメソッドが動かない
先に出したテストコードでは、order by
している。
最初は where
を書いていたが、こちらが現在公開されているバージョンでは、動作しないらしい。
サポートしてくれた drizzle のエンジニアが教えてくれた。
修正するそうなので、これもまた待ちたい。
Turso 関連でもう一本記事を書かせてもらった。
実は、マイグレーションを調べていたらこれまでお世話になった nessie の積極的なアップデートが終了する方針になっていた。
github.com - halvardssm/deno-nessie - Issues - Future of Nessie
Prisma が Deno で完全にサポートされることが目途になり、有料のサポートかリポジトリのフォークのオプションからユーザーは選ぶ必要がある。
仮に Turso に nessie を使うには、libsql 対応が必須になるので、この機能拡張は期待薄/望み薄にも思えます。
自分もフォークして拡張にチャレンジするか近い内に決める必要がありそうです。
では。