workspace


Description

{“what”:“A workspace is a container for a database schema, its connection details, and status flags.”,“why”:“Without it, there is no way to group related database settings and track their lifecycle.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:15.031739070+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id int4 10 √ null
collection.workspace_id fk_collection_workspace_id C
workspace_graph.workspace_id fk_workspace_graph_workspace_id C
workspace_input.workspace_id fk_workspace_input_workspace_id C
workspace_input_external.workspace_id fk_workspace_input_external_workspace_id C
workspace_log.workspace_id fk_workspace_log_workspace_id C
workspace_merge.workspace_id fk_workspace_merge_workspace_id N
workspace_merge_transform.workspace_id fk_workspace_merge_transform_workspace_id N
workspace_output.workspace_id fk_workspace_output_workspace_id C
workspace_output_external.workspace_id fk_workspace_output_external_workspace_id C
workspace_transform.workspace_id fk_workspace_transform_workspace_id C

{“what”:“Unique integer identifier for the workspace.”,“why”:“Needed to reference a workspace from other tables and for joins.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:15.045540141+00:00”}

name varchar 254 √ null

{“what”:“Human-readable name for the workspace, e.g., ‘Production’.”,“why”:“Used to distinguish workspaces in UI and logs; without it, only IDs are available.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:15.532571937+00:00”}

collection_id int4 10 √ null

{“what”:“ID of the parent collection that groups this workspace.”,“why”:“Enables hierarchical organization; without it, workspaces cannot be grouped.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:15.778522706+00:00”}

creator_id int4 10 √ null

{“what”:“ID of the user who created the workspace.”,“why”:“Tracks ownership and enables access control based on creator.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.100482344+00:00”}

api_key_id int4 10 √ null

{“what”:“ID of the API key used to create or access the workspace.”,“why”:“Links workspace to the API key for audit and permission checks.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.376628864+00:00”}

execution_user int4 10 √ null

{“what”:“ID of the user account that executes operations in this workspace.”,“why”:“Determines which user’s permissions apply when running queries or jobs.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.407338430+00:00”}

database_id int4 10 √ null

{“what”:“ID of the underlying database instance this workspace connects to.”,“why”:“Identifies the target database for all operations; without it, no data source.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.423638923+00:00”}

schema varchar 254 √ null

{“what”:“Name of the database schema within the database that this workspace uses.”,“why”:“Specifies the schema namespace; without it, queries are ambiguous.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.454575538+00:00”}

database_details text 2147483647 √ null

{“what”:“Free-form JSON or connection details for the database.”,“why”:“Holds connection parameters needed to connect; without it, database cannot be accessed.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.475888540+00:00”}

db_status varchar 20 'uninitialized'::character varying

{“what”:“Current status of the database connection, e.g., ‘uninitialized’, ‘connected’.”,“why”:“Drives UI state and retry logic; without it, readiness is unknown.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.500431026+00:00”}

base_status varchar 20 'empty'::character varying

{“what”:“Status of the base schema, e.g., ‘empty’, ‘migrated’.”,“why”:“Indicates whether the schema has been initialized; without it, migrations cannot be scheduled.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.562650483+00:00”}

graph_version int8 19 1

{“what”:“Monotonic version number of the workspace’s graph or schema definition.”,“why”:“Used for optimistic concurrency control; without it, concurrent updates could overwrite.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.577506050+00:00”}

created_at timestamptz 35,6 √ now()

{“what”:“Timestamp when the workspace row was created.”,“why”:“Provides audit trail and allows sorting by creation time.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.684565303+00:00”}

updated_at timestamptz 35,6 √ now()

{“what”:“Timestamp of the last update to the workspace row.”,“why”:“Tracks modification time for caching and change detection.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:14:16.716783051+00:00”}

Indexes

Constraint Name Type Sort Column(s)
workspace_pkey Primary key Asc id
idx_workspace_api_key_id Performance Asc api_key_id
idx_workspace_collection_id Performance Asc collection_id
idx_workspace_creator_id Performance Asc creator_id
idx_workspace_execution_user_id Performance Asc execution_user
idx_workspace_name_unique Must be unique Asc name

Relationships