From PlanetScale

Migrate from PlanetScale to Swyftstack.

One caveat up front: PlanetScale is MySQL, Swyftstack is PostgreSQL. We tell you when it's clean and when it's not.

This is usually painless if…

  • Your app uses an ORM (Prisma, Drizzle, TypeORM, Sequelize, Knex)
  • Your schema uses standard SQL types
  • You don't depend on MySQL-specific syntax

This requires more work if…

  • You have stored procedures or triggers written for MySQL
  • You use MySQL-specific functions in queries
  • You depend on PlanetScale's branching workflow extensively
How

How a PlanetScale → Swyftstack migration works

1Export PlanetScale schema and data

Via PlanetScale's tools, or our migration helper.

2We convert MySQL types to PostgreSQL

Most types map directly. We flag anything that doesn't and ask you to confirm.

3We restore onto Swyftstack PostgreSQL

Tables, indexes, sequences - verified end-to-end.

4You update your app

Change the database driver, swap provider = "mysql" for "postgresql" if you're on Prisma, regenerate, redeploy.

Frequently asked

Why no MySQL on Swyftstack?

V1 is PostgreSQL-only. PostgreSQL has stronger transactional guarantees and richer extensions for the workloads we care about most.

Will my Prisma schema convert cleanly?

Usually yes. Booleans, enums, indexes, foreign keys all translate. We'll flag types that don't have a one-to-one PostgreSQL equivalent.

Should I rewrite my queries?

Most ORM queries don't change. Raw SQL using MySQL-specific syntax (e.g. backtick identifiers, MySQL string functions) needs minor edits.

Switch from MySQL to PostgreSQL - with eyes open.

Talk to us before you start. We'll tell you honestly if your app is a one-day migration or a one-week one.