Migrating from Airtable

Airtable bases become object definitions + property definitions. Treat each table as an object; linked-record columns become relation properties.

Mapping checklist

AirtablePrimicornis
TableObject definition
FieldProperty definition
Linked recordsRelation property (single or multi via schema)
Select / Single selectselect with enumerated options
Formula / RollupExternal compute or future automation
AttachmentsExport to object storage (S3) + URL property — not inlined

CSV workflow

  1. Export CSV per table in dependency order (parents first).
  2. Build temporary ID maps (airtable_record_id → primicornis_record_id).
  3. Second pass updates relations using the map.

Pitfall: array-like multiselect

Ensure your import maps multi-select columns to the Primicornis property type that supports multiple values (or normalize to JSON strings where the API allows).

API migration

Use Airtable scripting or the REST API to push into Primicornis when you need incremental sync. Throttle to respect both Airtable’s and Primicornis’s rate envelopes.