Become a Gold Sponsor

Drizzle <> PlanetScale

This guide assumes familiarity with:

According to the official website, PlanetScale is the world’s most advanced serverless MySQL platform.

With Drizzle ORM you can access PlanetScale over http through their official database-js driver from serverless and serverfull environments with our drizzle-orm/planetscale-serverless package.

You can also access PlanetScale through TCP with mysql2 driver — see here.

Step 1 - Install packages

npm
yarn
pnpm
bun
npm i drizzle-orm @planetscale/database
npm i -D drizzle-kit

Step 2 - Initialize the driver and make a query

import { drizzle } from "drizzle-orm/connect";

const db = await drizzle('planetscale', { connection: {
  host: process.env["DATABASE_HOST"],
  username: process.env["DATABASE_USERNAME"],
  password: process.env["DATABASE_PASSWORD"],
}});

const response = await db.select().from(...)

If you need a synchronous connection, you can use our additional connection API, where you specify a driver connection and pass it to the Drizzle instance.

import { drizzle } from "drizzle-orm/planetscale-serverless";
import { Client } from "@planetscale/database";

const client = new Client({
  host: process.env["DATABASE_HOST"],
  username: process.env["DATABASE_USERNAME"],
  password: process.env["DATABASE_PASSWORD"],
});

const db = drizzle(client);

Make sure to checkout the PlanetScale official MySQL courses, we think they’re outstanding 🙌

What’s next?