projects


Description

{“what”:“Container for a data modeling project with metadata and content counts.”,“why”:“Without it, there is no grouping for schemas, sources, and layouts; all project-scoped data would be orphaned.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.281660465+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 null
gallery.project_id gallery_project_id_fkey R
project_tokens.project_id project_tokens_project_id_fkey R

{“what”:“Unique identifier for the project; primary key.”,“why”:“Without it, rows cannot be uniquely referenced by foreign keys or updated reliably.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.297452148+00:00”}

organization_id uuid 2147483647 null
organizations.id projects_organization_id_fkey R

{“what”:“UUID of the organization that owns this project.”,“why”:“Without it, projects cannot be scoped to an organization, and cross-tenant access control is impossible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.311082462+00:00”}

slug citext 2147483647 null

{“what”:“URL-friendly project identifier, unique within the organization.”,“why”:“Without it, project URLs and API routes cannot be stable and human-readable.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.326008198+00:00”}

name varchar 255 null

{“what”:“Display name of the project, e.g., ‘Sales Analytics’.”,“why”:“Without it, users cannot distinguish projects in lists or pickers.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.339844075+00:00”}

description text 2147483647 √ null

{“what”:“Free-form text describing the project’s purpose or scope.”,“why”:“Without it, context for future maintainers is lost, making project discovery harder.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.356090882+00:00”}

encoding_version int4 10 null

{“what”:“Version number of the project’s serialization format.”,“why”:“Without it, older project files cannot be migrated or read correctly after format changes.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.375201736+00:00”}

storage_kind varchar 255 null

{“what”:“Storage backend type, e.g., ‘file’ or ‘database’.”,“why”:“Without it, the system cannot decide how to load or persist the project’s data.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.385851722+00:00”}

file varchar 255 √ null

{“what”:“Path or key to the project file in the storage backend.”,“why”:“Without it, the project’s content cannot be located when storage_kind requires a file.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.394056266+00:00”}

local_owner uuid 2147483647 √ null
users.id projects_local_owner_fkey R

{“what”:“UUID of the user who owns the project locally, if any.”,“why”:“Without it, local ownership and personal project scoping are ambiguous.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.403484416+00:00”}

nb_sources int4 10 null

{“what”:“Count of data sources defined in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all sources.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.413681880+00:00”}

nb_tables int4 10 null

{“what”:“Count of tables defined in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all tables.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.424593643+00:00”}

nb_columns int4 10 null

{“what”:“Count of columns across all tables in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all columns.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.435810935+00:00”}

nb_relations int4 10 null

{“what”:“Count of relationships between tables in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all relations.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.446608905+00:00”}

nb_types int4 10 null

{“what”:“Count of custom data types defined in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all types.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.463689881+00:00”}

nb_comments int4 10 null

{“what”:“Count of comments attached to project elements.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all comments.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.476765454+00:00”}

nb_notes int4 10 null

{“what”:“Count of notes attached to project elements.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all notes.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.488515877+00:00”}

nb_layouts int4 10 null

{“what”:“Count of layouts (diagrams) defined in the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all layouts.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.503320408+00:00”}

created_by uuid 2147483647 null
users.id projects_created_by_fkey R

{“what”:“UUID of the user who created the project.”,“why”:“Without it, audit trails and ownership history are incomplete.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.518345686+00:00”}

updated_by uuid 2147483647 null
users.id projects_updated_by_fkey R

{“what”:“UUID of the user who last updated the project.”,“why”:“Without it, audit trails and change attribution are incomplete.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.532469835+00:00”}

created_at timestamp 29,6 null

{“what”:“Timestamp when the project was created, in UTC.”,“why”:“Without it, project age and ordering cannot be determined.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.824933345+00:00”}

updated_at timestamp 29,6 null

{“what”:“Timestamp when the project was last updated, in UTC.”,“why”:“Without it, stale projects cannot be identified or sorted by recency.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.836612013+00:00”}

archived_by uuid 2147483647 √ null
users.id projects_archived_by_fkey R

{“what”:“UUID of the user who archived the project, if archived.”,“why”:“Without it, archive actions cannot be attributed to a user.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.849300988+00:00”}

archived_at timestamp 29,6 √ null

{“what”:“Timestamp when the project was archived, if archived.”,“why”:“Without it, archive status and duration cannot be tracked.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.862302181+00:00”}

visibility varchar 255 'none'::character varying

{“what”:“Visibility level, e.g., ‘none’, ‘public’, ‘internal’.”,“why”:“Without it, access control and sharing behavior are undefined.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.873494774+00:00”}

nb_memos int4 10 0

{“what”:“Count of memos attached to the project.”,“why”:“Without it, project size and complexity cannot be summarized without scanning all memos.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:01:30.887439056+00:00”}

Indexes

Constraint Name Type Sort Column(s)
projects_pkey Primary key Asc id
projects_organization_id_slug_index Must be unique Asc/Asc organization_id + slug

Relationships