Festival dinners
dinners
Columns
| Column | Type | Null | Default | Keys |
|---|---|---|---|---|
| id | uuid | no | gen_random_uuid() | PK |
| festival_id | uuid | no | — | |
| day | text | no | — | |
| date | date | yes | — | |
| time_slot | text | no | — | |
| restaurant | text | yes | — | |
| restaurant_address | text | yes | — | |
| reveal_date | date | yes | — | |
| max_size | integer | no | 6 |
Value lists come from .$type<'a' | 'b'>() in the schema — enforced in TypeScript only, not by the database.
Keys, constraints & indexes
Unique
- (festival_id, day, time_slot) dinner_festival_day_time
Indexes
No secondary indexes.
Foreign keys
- festival_id → festivals.id on delete no action
Referenced by
- dinner_groups (dinner_id)
- dinner_signups (dinner_id)
Used by
Code that reads or writes this table, found by static analysis of the tRPC routers and API handlers (including helpers they call).
tRPC procedures
REST & webhooks
- ANY /mcp
- ANY /mcp/public
Relations
Rendering diagram…
Diagram source
erDiagram
dinner_groups {
uuid id PK
uuid dinner_id FK
}
dinner_signups {
uuid id PK
uuid dinner_id FK
uuid dancer_id FK
}
dinners {
uuid id PK
uuid festival_id FK
}
festivals {
uuid id PK
text slug UK
}
dinners ||--o{ dinner_groups : "dinner_id"
dinners ||--o{ dinner_signups : "dinner_id"
festivals ||--o{ dinners : "festival_id" Defined at server/database/schema.ts:122 as dinners.