Glossary

What is Data Type Extraction?

Data type extraction is the automated process of reading Bubble.io's custom data types — including field names, types, relationships, and constraints — and converting them into standard database schemas such as SQL DDL, ERD diagrams, or ORM model definitions.

What Data Types Contain

Bubble data types are the equivalent of database tables. Each type has fields with primitive types (text, number, date, boolean), references to other types (relationships), lists, geographic addresses, and option sets. None of this is exposed in a standard schema format — it lives inside Bubble's proprietary editor.

Output Formats

SQL DDL

CREATE TABLE statements with column types, constraints, and foreign key relationships ready for PostgreSQL or MySQL.

ERD Diagram

Entity-relationship diagrams showing data types as entities and field references as relationships.

Data Dictionary

Human-readable table of every field, its type, whether it is required, and its description.

ORM Models

Prisma schema, ActiveRecord models, or SQLAlchemy classes generated from the extracted structure.

Extraction Challenges

  • Implicit RelationshipsBubble stores relationships as field references without explicit foreign keys — these must be inferred from field types
  • Flat StructureAll data types live at the same level with no schema namespacing, making large apps difficult to organize
  • Option SetsBubble option sets are enum-like structures that must be mapped to lookup tables or enum types in the target schema
  • List FieldsFields that store multiple values require junction tables or array columns depending on the target database

Related Terms

Reverse engineeringPrivacy rulesOption setsBubble migration

How Relis Extracts Data Types

Relis uses Playwright browser automation to navigate the Bubble editor with viewer-only access. It reads every data type, maps field types to standard SQL equivalents, infers relationships from reference fields, and generates SQL DDL, ERD diagrams, and a complete data dictionary — all without touching your live database.