Database migration

Move your Bubble database to Supabase or another Postgres provider

Automatically recreate your Bubble schema in Postgres with Bubble field types mapped and converted correctly, migrate records and Option Sets, preserve every relationship, and keep everything in sync as your app evolves.

Schema recreatedRecords and Option Sets syncedRows converted for Postgres

Why teams start here

You extracted the data. Now comes the hard part.

Bubble helps you get your raw data out. The hard part is turning it into a usable Postgres database with the right schema, Bubble field types converted to PostgreSQL equivalents, preserved relationships, real Option Set structures, and incremental syncs as your database evolves.

Without unbubble.dev

  • You need to manually export each table as CSV, or call the Data API for each table and store the raw data Bubble sends.
  • You have to map and convert each Bubble field type and its values into Postgres equivalents yourself.
  • Option Sets come through as display values instead of first-class relational structures.
  • You have to manually define your foreign key constraints.
  • Schema drift and ongoing data changes make incremental syncs very hard to manage.

With unbubble.dev

  • All tables are automatically detected and extracted through the Data API, then converted and loaded into a Postgres database.
  • Your values are automatically converted into Postgres-compatible formats during migration.
  • Option Sets become real Postgres tables that records can reference by their Bubble ID.
  • Foreign keys are automatically detected and applied to your database.
  • Schema and records stay automatically aligned through incremental syncs until cutover.

How it works

How your Bubble database is rebuilt

01

Recreate the schema

Bubble Data Types are rebuilt as Postgres tables, with Bubble field types mapped to PostgreSQL equivalents and Option Sets modeled as real structures.

02

Convert and load the data

Records are synced through the Data API, Option Sets are automatically extracted, and both are converted into Postgres-compatible values before loading into your database.

03

Preserve relationships and keep syncing

Primary keys, foreign keys, and record references stay intact, while incremental syncs keep schema and data aligned until cutover.

Ready to migrate your Bubble database?

Create a project and move beyond raw export files. Get a Postgres schema, real Option Set tables, preserved relationships, and a migration flow you can rerun before cutover.

FAQ

Frequently asked questions

Quick answers to what people usually ask before getting started.

What does a Bubble database migration include?

A Bubble database migration includes your schema, Data Types, records, Option Sets, and the relationships between those records. unbubble.dev recreates your Bubble database in Postgres, maps Bubble field types to PostgreSQL equivalents, syncs your records, and keeps the structure usable as a real relational database.

Can I migrate my Bubble database to Postgres or Supabase?

Yes. This migration is built for Postgres-based stacks, including Supabase. It rebuilds your Bubble database in a PostgreSQL-compatible structure so you can move off Bubble onto a database you own and keep building on.

Are Bubble relationships preserved during migration?

Yes. Relationships between Bubble records are preserved during migration. Primary keys, foreign keys, and references stay aligned so your data lands in Postgres as a usable relational database, not as disconnected exports.

Why not just export my Bubble database through CSV or the Data API?

Because extraction is only the first step. CSV export and the Data API can help you get raw data out of Bubble, but they do not recreate your Postgres schema, convert Bubble field types and values properly, turn Option Sets into real structures, or keep schema and records aligned through incremental syncs.

How are Bubble Option Sets handled?

Option Sets are migrated as real Postgres tables. unbubble.dev carries over their values and attributes, then lets your migrated records reference them by Bubble ID instead of relying only on exported display values.

Does this migration include Bubble users, images, or files?

No. This product covers database migration only: schema, Data Types, records, Option Sets, and relationships. User accounts and images or files are handled through separate add-ons that you can unlock on the same project.

Can I sync again before I fully cut over from Bubble?

Yes. This migration supports incremental syncs, not just a one-time export. That means schema and records can stay aligned while your Bubble app continues to change before final cutover.

How is Bubble database migration billed?

Pricing is per project inside unbubble.dev. You unlock database migration for the Bubble app you want to move, then manage checkout and billing through your project settings.