public.member_profiles
Synced from
docs/generated/erd/— do not hand-edit.
Regenerate withbun run docs:erd(needs staging reader), then this script runs automatically.
Labels:docs/db/erd-table-labels.yml· Runbook:docs/runbooks/erd-schema-docs.md
Description
Section titled “Description”Member profile satellite (name, contact fields, etc.) — Not: members identity hub; no org_id on satellite — RLS scopes via member
Columns
Section titled “Columns”| Name | Type | Default | Nullable | Children | Parents | Comment |
|---|---|---|---|---|---|---|
| collaboration_interests | text[] | ‘{}’::text[] | true | |||
| created_at | timestamp with time zone | now() | true | |||
| ideal_clients | text | true | ||||
| industries_served | text[] | ‘{}’::text[] | true | |||
| intro_preferences | text | true | ||||
| mastermind_interest | boolean | false | true | |||
| member_id | uuid | false | public.members | |||
| mentoring_interest | boolean | false | true | |||
| networking_discoverability | boolean | true | true | |||
| portal_bio | text | ‘’::text | true | |||
| portal_social_links | jsonb | ‘{}’::jsonb | true | |||
| portal_website | text | ‘’::text | true | |||
| profile_visibility | text | ‘members’::text | true | |||
| public_bio | text | ‘’::text | true | |||
| public_photo_url | text | true | ||||
| public_visible | boolean | false | true | |||
| referral_categories | text[] | ‘{}’::text[] | true | |||
| services_offered | text | true | ||||
| speaker_bio | text | ‘’::text | true | |||
| speaking_interest | boolean | false | true | |||
| updated_at | timestamp with time zone | now() | true | |||
| who_i_want_to_meet | text | true |
Viewpoints
Section titled “Viewpoints”| Name | Definition |
|---|---|
| Membership & Billing | Members split-payload (members + member_profiles + member_billing + member_metrics), tiers, commerce/billable offers, billing agreements/subscriptions/transactions. Catalog §2.1–2.2, 2.4. Strong first-review cluster for Nathan/Craig. NAMING TRAP — “entitlement” is three different concepts (see docs/db/erd-table-labels.yml): commerce_entitlements = plan/agreement commercial limits; member_entitlements = chamber member benefit allocations; member_product_entitlements = external product provisioning (e.g. Bullseye). The bare entitlements table is NOT the commerce ledger (ADR #2581). |
Constraints
Section titled “Constraints”| Name | Type | Definition |
|---|---|---|
| member_profiles_member_id_fkey | FOREIGN KEY | FOREIGN KEY (member_id) REFERENCES members(id) ON DELETE CASCADE |
| member_profiles_pkey | PRIMARY KEY | PRIMARY KEY (member_id) |
Indexes
Section titled “Indexes”| Name | Definition |
|---|---|
| idx_member_profiles_discoverable | CREATE INDEX idx_member_profiles_discoverable ON public.member_profiles USING btree (networking_discoverability) WHERE (networking_discoverability = true) |
| member_profiles_pkey | CREATE UNIQUE INDEX member_profiles_pkey ON public.member_profiles USING btree (member_id) |
Triggers
Section titled “Triggers”| Name | Definition |
|---|---|
| set_updated_at_member_profiles | CREATE TRIGGER set_updated_at_member_profiles BEFORE UPDATE ON public.member_profiles FOR EACH ROW EXECUTE FUNCTION update_updated_at_column() |
Relations
Section titled “Relations”erDiagram
"public.member_profiles" |o--|| "public.members" : "FOREIGN KEY (member_id) REFERENCES members(id) ON DELETE CASCADE"
"public.member_profiles" {
uuid member_id FK ""
}
"public.members" {
uuid company_id FK ""
uuid contact_id FK ""
uuid id ""
text org_id FK ""
}
Generated by tbls

