PlanetScale → Neon
mediumPlanetScale removed its free tier in 2024. Neon offers serverless PostgreSQL with scale-to-zero and database branching. Switching MySQL → PostgreSQL requires schema and query changes.
Sign up at neon.tech, create a project. Note your connection string.
Use mysqldump to export your schema and data.
mysqldump -h $PS_HOST -u $PS_USER -p$PS_PASS --no-tablespaces $DB_NAME > dump.sql
MySQL and PostgreSQL have differences: AUTO_INCREMENT → SERIAL or GENERATED, tinyint(1) → boolean, backtick identifiers → double-quote. Use pgloader for automatic conversion.
pgloader mysql://$PS_CONNECTION_STRING postgresql://$NEON_CONNECTION_STRING
MySQL-specific SQL: LIMIT x,y → LIMIT y OFFSET x, IFNULL → COALESCE, GROUP BY rules are stricter in PostgreSQL.
If using Prisma: change datasource provider from 'mysql' to 'postgresql'. If Drizzle: switch to drizzle-orm/neon-http.
npm install @neondatabase/serverless
Use Neon branches for dev/staging environments — mirrors PlanetScale's branching workflow.