Bases & Branches
What is a base?
A base is a PostgreSQL database created from an Airtable base. It contains your schema (tables, columns, relationships) and any data that was in Airtable at build time.
Each base has:
- A unique connection string
- An admin role (full access) and an anon role (constrained by row-level security)
- A build history
What is a branch?
A branch is a copy of a base — a separate PostgreSQL database with the same schema. Branches are used for testing schema changes before applying them to your production database.
Think of it like a Git branch: you work on a branch, verify your changes, then merge them back into main.
Production base vs. branch
| Production Base | Branch (Test Base) | |
|---|---|---|
| Purpose | Holds real app data | Schema iteration and testing |
| Built from Airtable? | Initially yes, then no | Yes — can be rebuilt freely |
| Safe to rebuild? | No — a rebuild overwrites data | Yes — data loss is acceptable |
| Schema changes | Applied via Sync | Applied via Build |
The key rule
Never rebuild your production base after it has real data in it.
Rebuilding re-creates the database from Airtable, which means existing data is lost. For production, use the Sync tab to apply schema changes instead (see Sync).