DbSchema gives PlanetScale teams a design-first workflow: import the existing schema as an interactive ER diagram, refine it visually, and ship every change as a reviewed SQL script.
Built for fast schema design, query iteration, and safe MySQL-compatible deployments, with an offline model you can keep in Git, team collaboration, and documentation that developers, analysts, and stakeholders can navigate in minutes.
Download DbSchema See PlanetScale Features Download PlanetScale JDBC Driver · All drivers
Get to your first PlanetScale schema diagram in minutes. No account, no credit card.
Download the installer for Windows, macOS, or Linux and launch DbSchema. No signup required.
Reverse engineer an existing PlanetScale database or open a sample model to explore tables, relationships, and indexes.
Edit schema visually, generate documentation, and prepare reviewed migration scripts for safer releases.
PlanetScale is a serverless MySQL-compatible database built on Vitess, the sharding middleware originally developed at YouTube to scale MySQL horizontally. Under the hood, Vitess manages keyspaces and shards transparently, so applications interact with standard MySQL SQL while PlanetScale handles horizontal scaling automatically. Its most developer-friendly feature is database branching: each branch gets its own isolated schema and its own set of connection credentials, enabling safe schema iteration without risking production data.
Download DbSchema Free See PlanetScale Features
DbSchema connects to any PlanetScale branch using the MySQL JDBC driver and the branch-specific connection string provided in the PlanetScale dashboard. The visual schema diagram reflects exactly what is deployed on that branch, letting you review table relationships, index coverage, and column types before submitting a deploy request — the PlanetScale equivalent of a pull request for schema changes.
PlanetScale exposes a MySQL-compatible SQL interface, so standard MySQL DDL and DML statements work as expected.
DbSchema's SQL editor connects through the MySQL Connector/J driver and lets you execute SELECT,
INSERT, UPDATE, and DELETE statements directly against any branch.
You can also run EXPLAIN to review query plans and ensure that indexes are being utilized correctly
before the schema change ships to production.
PlanetScale enforces foreign key constraints differently from standard MySQL — it allows you to define them for documentation purposes but disables runtime enforcement to avoid distributed transaction issues in a sharded environment. DbSchema's diagram still renders these logical relationships visually, giving your team a clear picture of the intended referential integrity even when enforcement is deferred to the application layer.
The DbSchema data explorer lets you browse table contents for any PlanetScale branch without writing SQL. You can page through rows, filter by column values, and inspect individual records to verify that seed data or test fixtures were loaded correctly on a development branch. This is especially useful when a feature branch contains a data migration and you need to confirm the transformation produced the expected results.
Because each branch has independent connection credentials, you can save separate DbSchema connection profiles for your main, staging, and development branches. Switching between them takes a single click, letting you compare data across branches quickly. The export-to-CSV feature in the explorer is handy for capturing a snapshot of branch data to share with stakeholders or use as a test fixture in another environment.
Because every branch has its own credentials, PlanetScale's connection details come straight from its dashboard rather than from a config file.
com.mysql.cj.jdbc.Driver is included by default.aws.connect.psdb.cloud and the default MySQL port
3306, giving the URL jdbc:mysql://aws.connect.psdb.cloud/mydb.
PlanetScale requires SSL for all connections; add ?sslMode=VERIFY_IDENTITY (or
?useSSL=true&requireSSL=true for older driver versions) to the URL if DbSchema does
not enable SSL automatically. Because every branch has its own credential set, name your DbSchema
connection profiles after the branch they target — for example "PlanetScale — main" and
"PlanetScale — feature/add-payments" — to keep them easy to tell apart.
Reviewing a PlanetScale deploy request before it ships? Download DbSchema and diagram the branch schema so the whole team can see the change, not just the migration file.
Teams working with PlanetScale often use these engines too. Explore dedicated guides and JDBC setup for each.