Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions skills/objectstack-data/rules/field-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ options: [
|:-----|:------------|:-----------|
| `lookup` | Reference another object (independent) | `reference`, `lookupFilters`, `multiple`, `deleteBehavior` |
| `master_detail` | Parent–child with lifecycle control | `reference`, `deleteBehavior` (`cascade`/`restrict` — `set_null` is refused) |
| `tree` | Hierarchical self-reference | `reference` |
| `tree` | Hierarchical self-reference | `reference` — optional; when written, this object's own name (any other object is refused at parse) |
| `user` | Person picker — a lookup specialized to `sys_user` (assignee, watchers). Stored identically to `lookup` | `multiple` (collaborators), `defaultValue: 'current_user'` |

> **`multiple: true` lookup ≠ junction object.** A multi-value lookup is stored
Expand All @@ -106,9 +106,6 @@ options: [
| `video` | Video files | — |
| `audio` | Audio files | — |

There is no per-field attachment config (size limits, allowed types, storage) —
storage concerns live outside the field schema.

## Embedded (JSON sub-objects)

Stored as JSON on the parent row — no separate table / FK:
Expand Down
2 changes: 1 addition & 1 deletion skills/objectstack-data/rules/relationships.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Guide for modeling relationships between objects using `lookup`, `master_detail`
|:-----|:----------|:---------|:--------|:---------|:---------|
| `lookup` | Independent | Optional by default | Independent | Supported via `summary` | "Related to" |
| `master_detail` | Coupled (cascade delete) | Forced only under `controlled_by_parent`; else lint-warned | Inherits parent | Supported via `summary` | "Owned by" |
| `tree` | Self-reference | Optional | N/A | Not available | Hierarchical |
| `tree` | Self-reference | Optional — and so is `reference`, which when written must name this object itself; any other object is refused at parse, not lint-warned | N/A | Not available | Hierarchical |

## When to Use lookup vs master_detail

Expand Down
Loading