Note: We have archived this repository since it is outdated. If you are looking for how to use Vercel + PlanetScale together, see our Deploy to Vercel docs. Or if you are looking for the latest Next.js starter application, which can be deployed to Vercel, see our Next.js starter repo and Connect a Next.js application to PlanetScale docs.

Vercel + Planetscale

A next.js app deployed to vercel with a planetscale integration. This example app uses the planetscale-node client to query the database

Setup database

pscale auth login
  • Create a new database (skip this step if you already have a database)
pscale database create <database>
  • Create a development branch
pscale branch create <database> <branch>
  • Connect to your branch
pscale shell <database> <branch>
  • Insert example tables
CREATE TABLE users (
  id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  email varchar(255) NOT NULL,
  password varchar(255) NOT NULL,
  name varchar(255)
);
  • Create a deploy request
pscale deploy-request create <database> <branch>
  • Deploy the deploy request
pscale deploy-request deploy <database> <deploy-request-number>
  • To find your <deploy-request-number>, simply run:
pscale deploy-request list <database>
  • Merge your development branch into main
pscale deploy-request deploy <database> <deploy-request-number>

Clone & Deploy to vercel

Deploy with Vercel
  • The integration will automatically add the following environment variables to your Vercel project(s)
    • PLANETSCALE_DB
    • PLANETSCALE_ORG
    • PLANETSCALE_TOKEN
    • PLANETSCALE_TOKEN_NAME

These environment variables are used by planetscale-node client to connect to your database

  • Re-deploy your application after the installation is complete and you will have a working app.