Deno + Pglite + Drizzle で依存の少ないDBアプリを作る
BRANK

CI まで一式動いてるのがここ は postgres を wasm コンパイルしたもの。 deno + drizzle からマイグレーションして叩く。なぜこの組み合わせかローカルにAIエージェント用の簡単なDBツールを量産したかった。deno でスクリプトを書きまくってるので、 deno を前提に色々試した。色々試したのだが、最終的に Pglite で Postgres を叩くことにした。インストールが不要で、DB周りのセットアップが一番手数が少ない。手数の少なさを最重要とした。最低限これだけでいい。import { PGlite } from "npm:@electric-sql/pglite"; const db = new PGlite(); await db.exec("create table test (id serial primary key, name text);"); await db.exec("insert into test (name) values ('Alice');"); await db.query("select * from test;"); 出力に関してはシングルファイルを吐く sqlite のほうがポータブルではあるのだが、deno の node:sqlite 互換実装が追加されたのがつい先日、かつ各種ORMのアダプタが現状皆無なので取り回しが難しかった。 postgres のアダプタなので、好きな時に好みの DBaaS をバックエンドにできる。Prismaでない理由は、 deno で prisma 動かすのが面…

zenn.dev
Related Topics: JavaScriptRuntime Node.js