MySQL
Source:
src/Drizzle/MySQL.ts
Open a Drizzle/MySQL database from a connection URL using the
drizzle-orm/effect-mysql2 integration.
const conn = yield* Cloudflare.Hyperdrive.Connect(Hyperdrive);const db = yield* Drizzle.MySQL(conn.connectionString, { relations });
fetch: Effect.gen(function* () { const rows = yield* db.select().from(users);});The pool opens on the first query of an execution, is reused for every
query in it, and closes when the event settles (see
makeExecutionMemo); plan/deploy never connect. Workers defaults
(resolveMySQLConfig) are overridden via config.client:
const db = yield* Drizzle.MySQL(connectionString, { relations, client: { poolConfig: { ssl: { rejectUnauthorized: true } } },});