Database Data Model
Live schema, generated 2026-10-07 00:19 UTC · 45 tables · 481 columns · schemas: dori, inference, public
schema: dori
alert_rule
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('alert_rule_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| match_event_type | character varying | null | |
| scope_location_id | integer | null | |
| scope_device_id | integer | null | |
| receiver_id | integer | null | → dori.receiver.id |
| cooloff_seconds | integer | null | 0 |
| is_active | boolean | null | true |
| template_text | text | null | |
| created_at | timestamp with time zone | null | now() |
app_user
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('user_id_seq'::regclass) |
| user_id | character varying | null | |
| company_id | integer | null | → dori.company.id |
| email | character varying | null | |
| password | character varying | null | NULL::character varying |
| first_name | character varying | null | NULL::character varying |
| last_name | character varying | null | NULL::character varying |
| location_id | integer | null | → dori.location.id |
| is_active | boolean | null | true |
| user_role | character varying | null | NULL::character varying |
| phone | character varying | null | NULL::character varying |
| active_contact | character varying | null | NULL::character varying |
client
| Column | Type | Null | Default / FK |
|---|
| id | bigint | null | nextval('client_id_seq'::regclass) |
| name | character varying | null | |
| app_server_url | character varying | null | |
| dashboard_url | character varying | null | |
| is_active | boolean | null | true |
client_user
| Column | Type | Null | Default / FK |
|---|
| id | bigint | null | nextval('client_user_id_seq'::regclass) |
| client_id | bigint | null | → dori.client.id |
| user_id | bigint | null | → dori.app_user.id |
cloud_store_config
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('auth_aws_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| access_key_id | character varying | null | |
| secret_access_key | character varying | null | |
| bucket | character varying | null | NULL::character varying |
| file_path | character varying | null | NULL::character varying |
| region | character varying | null | NULL::character varying |
| provider | character varying | null | 'aws'::character varying |
| account_name | character varying | null | |
| container_name | character varying | null | |
| endpoint | character varying | null | |
| project_id | character varying | null | |
| service_account_json | text | null | |
company
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('company_id_seq'::regclass) |
| company_id | character varying | null | NULL::character varying |
| name | character varying | null | NULL::character varying |
| display_name | character varying | null | NULL::character varying |
| last_run | bigint | null | |
| ux_config | text | null | |
company_config
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('company_config_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| config_key | character varying | null | |
| config_value | character varying | null | |
device
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('device_id_seq'::regclass) |
| location_id | integer | null | → dori.location.id |
| device_id | character varying | null | NULL::character varying |
| name | character varying | null | NULL::character varying |
| source | character varying | null | NULL::character varying |
| source_media_type | character varying | null | NULL::character varying |
| recording_type | character varying | null | NULL::character varying |
| scale | integer | null | |
| width | integer | null | |
| height | integer | null | |
| mode | character varying | null | NULL::character varying |
| max_fps | numeric | null | NULL::numeric |
| buffer_size | integer | null | |
| floor | character varying | null | NULL::character varying |
| status | character varying | null | NULL::character varying |
| area | character varying | null | NULL::character varying |
| display_name | character varying | null | NULL::character varying |
| rtsp_flag | integer | null | |
| conversion_flag | integer | null | |
| device_struct_code | character varying | null | NULL::character varying |
| device_timezone | character varying | null | NULL::character varying |
| mlc_id | integer | null | → dori.mlc.id |
| camera_config | text | null | |
| pp_camera_config | text | null | |
| mlc_camera_config | text | null | |
| service_bundle_id | integer | null | → dori.service_bundle.id |
| folder | character varying | null | NULL::character varying |
| thumbnail_url | character varying | null | NULL::character varying |
| device_config | text | null | |
| monitor_id | character varying | null | |
| method | character varying | null | |
| monitor_type | character varying | null | |
| section_length | integer | null | |
| groups | character varying | null | |
| colors | integer | null | |
| save_jpegs | integer | null | |
| video_writer | integer | null | |
| capture_enabled | integer | null | |
| capture_ip | character varying | null | |
| capture_port | integer | null | |
| capture_path | character varying | null | |
| capture_username | character varying | null | |
| capture_password | character varying | null | |
| vms_id | integer | null | |
dynamic_kit
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('dynamic_kit_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| name | character varying | null | NULL::character varying |
| sku | character varying | null | NULL::character varying |
| dynamic_kit_id | character varying | null | NULL::character varying |
| description | character varying | null | NULL::character varying |
| created_at | timestamp without time zone | null | now() |
| updated_at | timestamp without time zone | null | |
| created_user | integer | null | |
| updated_user | integer | null | |
| scan_status | character varying | null | NULL::character varying |
| message_status | character varying | null | NULL::character varying |
| metadata | text | null | |
dynamic_kit_part
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('dynamic_kit_part_id_seq'::regclass) |
| dynamic_kit_id | integer | null | → dori.dynamic_kit.id |
| part_id | integer | null | → dori.part.id |
| quantity | integer | null | |
| confidence | double precision | null | |
| metadata | text | null | |
event_dispatch
| Column | Type | Null | Default / FK |
|---|
| event_id | uuid | null | |
| dispatched_at | timestamp with time zone | null | now() |
event_note
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('event_note_id_seq'::regclass) |
| inference_event_id | character varying | null | |
| event_note | text | null | |
| next_steps | text | null | |
event_outbox
| Column | Type | Null | Default / FK |
|---|
| id | bigint | null | nextval('event_outbox_id_seq'::regclass) |
| event_id | uuid | null | |
| aggregate_key | text | null | |
| topic | text | null | |
| payload | jsonb | null | |
| status | text | null | 'pending'::text |
| attempts | integer | null | 0 |
| next_attempt_at | timestamp with time zone | null | now() |
| created_at | timestamp with time zone | null | now() |
| dispatched_at | timestamp with time zone | null | |
| last_error | text | null | |
event_type
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('event_type_id_seq'::regclass) |
| service_bundle_id | integer | null | → dori.service_bundle.id |
| name | character varying | null | |
| description | character varying | null | NULL::character varying |
| is_notification | boolean | null | false |
| is_alert | boolean | null | false |
image
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('image_id_seq'::regclass) |
| file_path | character varying | null | NULL::character varying |
| file_name | character varying | null | NULL::character varying |
| capture_time | timestamp without time zone | null | now() |
| tags | text | null | |
| markup | jsonb | null | |
| metadata | text | null | |
job
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('job_id_seq'::regclass) |
| device_id | integer | null | → dori.device.id |
| request_id | character varying | null | NULL::character varying |
| job_type | character varying | null | NULL::character varying |
| filepath | character varying | null | NULL::character varying |
| filename | character varying | null | NULL::character varying |
| status | character varying | null | NULL::character varying |
| pid | integer | null | |
| start_time | timestamp without time zone | null | now() |
| end_time | timestamp without time zone | null | |
| file_start_time | timestamp without time zone | null | |
| file_duration | integer | null | |
| annotation_status | integer | null | 0 |
| api_callback_count | integer | null | |
| error_message | text | null | |
| job_start | timestamp without time zone | null | CURRENT_TIMESTAMP |
| user_id | integer | null | |
| request_description | character varying | null | NULL::character varying |
| uniqueid | character varying | null | NULL::character varying |
| eval_job_id | character varying | null | NULL::character varying |
| project_id | integer | null | |
| model_id | integer | null | |
| mlc_id | integer | null | |
| dataset_id | integer | null | |
| val_dataset_id | integer | null | |
| bm_dataset_id | integer | null | |
| service_bundle_id | integer | null | → dori.service_bundle.id |
| num_iterations | integer | null | |
| job_end | timestamp without time zone | null | |
| execution_time | bigint | null | |
| is_archived | boolean | null | false |
| is_deleted | boolean | null | false |
| is_starred | boolean | null | false |
| is_locked | boolean | null | false |
| metadata | text | null | |
| job_params | text | null | |
| stop_requested_at | timestamp without time zone | null | |
kit
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('kit_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| kit_id | character varying | null | NULL::character varying |
| name | character varying | null | NULL::character varying |
| sku | character varying | null | NULL::character varying |
| description | character varying | null | NULL::character varying |
| layers | integer | null | |
| created_at | timestamp without time zone | null | now() |
| updated_at | timestamp without time zone | null | |
| created_user | integer | null | |
| updated_user | integer | null | |
| status | character varying | null | NULL::character varying |
| metadata | text | null | |
kit_image
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('kit_image_id_seq'::regclass) |
| kit_id | integer | null | → dori.kit.id |
| image_id | integer | null | → dori.image.id |
| orientation | character varying | null | NULL::character varying |
| is_archived | boolean | null | false |
| metadata | text | null | |
kit_part
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('kit_part_id_seq'::regclass) |
| kit_id | integer | null | → dori.kit.id |
| part_id | integer | null | → dori.part.id |
| quantity | integer | null | |
| confidence | double precision | null | |
| orientation | character varying | null | NULL::character varying |
| part_location | character varying | null | NULL::character varying |
location
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('location_id_seq'::regclass) |
| location_id | character varying | null | NULL::character varying |
| name | character varying | null | NULL::character varying |
| location_map | character varying | null | NULL::character varying |
| zone_id | character varying | null | NULL::character varying |
| site | character varying | null | NULL::character varying |
| address | character varying | null | NULL::character varying |
| city | character varying | null | NULL::character varying |
| state | character varying | null | NULL::character varying |
| postal_code | character varying | null | NULL::character varying |
| country | character varying | null | NULL::character varying |
| layer1 | character varying | null | NULL::character varying |
| layer2 | character varying | null | NULL::character varying |
| layer3 | character varying | null | NULL::character varying |
| layer4 | character varying | null | NULL::character varying |
| layer5 | character varying | null | NULL::character varying |
| layer6 | character varying | null | NULL::character varying |
| layer7 | character varying | null | NULL::character varying |
| display_layer1 | character varying | null | NULL::character varying |
| display_layer2 | character varying | null | NULL::character varying |
| display_layer3 | character varying | null | NULL::character varying |
| display_layer4 | character varying | null | NULL::character varying |
| display_layer5 | character varying | null | NULL::character varying |
| display_layer6 | character varying | null | NULL::character varying |
| display_layer7 | character varying | null | NULL::character varying |
| storage_id | character varying | null | NULL::character varying |
| storage_url | character varying | null | NULL::character varying |
| storage_type | character varying | null | NULL::character varying |
| storage_scheme | character varying | null | NULL::character varying |
| do_delete | integer | null | 0 |
| location_timezone | character varying | null | NULL::character varying |
| company_id | integer | null | |
message_log
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('message_log_id_seq'::regclass) |
| subscriber_id | integer | null | |
| inference_event_id | character varying | null | |
| event_type | character varying | null | NULL::character varying |
| message_type | character varying | null | |
| message_text | character varying | null | NULL::character varying |
| created_at | timestamp without time zone | null | now() |
| status | character varying | null | |
| subscription_id | integer | null | |
| company_id | integer | null | |
| location_id | integer | null | |
| device_id | integer | null | → dori.device.id |
| request_id | character varying | null | |
| group_id | integer | null | |
mlc
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('mlc_id_seq'::regclass) |
| name | character varying | null | NULL::character varying |
| url | character varying | null | NULL::character varying |
| status | character varying | null | NULL::character varying |
| callback_url | character varying | null | NULL::character varying |
| mount_point | character varying | null | NULL::character varying |
| auth_token | character varying | null | NULL::character varying |
| deployment_id | character varying | null | NULL::character varying |
| sort_order | integer | null | |
| model_class | character varying | null | NULL::character varying |
| last_active_call_time | timestamp without time zone | null | |
| last_healthcheck | timestamp without time zone | null | |
| instance_type | character varying | null | NULL::character varying |
| is_active | boolean | null | true |
| service_bundle_id | integer | null | → dori.service_bundle.id |
| max_capacity | integer | null | |
| current_capacity | integer | null | 0 |
| is_deployed | boolean | null | false |
| is_configured | boolean | null | false |
| poll_count | integer | null | 0 |
| media_server_url | character varying | null | NULL::character varying |
mlc_config
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('mlc_config_id_seq'::regclass) |
| mlc_id | integer | null | → dori.mlc.id |
| predictdb_url | character varying | null | NULL::character varying |
| predictdb_port | character varying | null | NULL::character varying |
| predictdb_name | character varying | null | NULL::character varying |
| predictdb_user | character varying | null | NULL::character varying |
| predictdb_password | character varying | null | NULL::character varying |
| eventdb_url | character varying | null | NULL::character varying |
| eventdb_port | character varying | null | NULL::character varying |
| eventdb_name | character varying | null | NULL::character varying |
| eventdb_user | character varying | null | NULL::character varying |
| eventdb_password | character varying | null | NULL::character varying |
| frame_window | integer | null | 0 |
| max_queue_depth | integer | null | 0 |
| queue_upper_bound | integer | null | 0 |
| queue_lower_bound | integer | null | 0 |
| is_benchmark | boolean | null | true |
| is_postgres | boolean | null | true |
| skip_count | integer | null | 1 |
| scale | integer | null | 100 |
| fps | integer | null | 1 |
| non_max_suppression_conf | numeric | null | 0.25 |
| non_max_suppression_iou | numeric | null | 0.45 |
| second_model_def_state | boolean | null | false |
| inference_processes | integer | null | 3 |
| name | character varying | null | |
mlc_config_company
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('mlc_config_company_id_seq'::regclass) |
| mlc_config_id | integer | null | → dori.mlc_config.id |
| company_id | integer | null | → dori.company.id |
pallet_result
| Column | Type | Null | Default / FK |
|---|
| id | bigint | null | nextval('pallet_result_id_seq'::regclass) |
| event_time | timestamp without time zone | null | now() |
| company_id | integer | null | → dori.company.id |
| location_id | integer | null | → dori.location.id |
| device_id | integer | null | → dori.device.id |
| lp_number | character varying | null | |
| part_sku | character varying | null | |
| asn_ref | character varying | null | |
| quantity | integer | null | |
| lot_batch | character varying | null | |
| expiry | character varying | null | |
| supplier | character varying | null | |
| destination | character varying | null | |
| verdict | character varying | null | |
| exceptions | json | null | |
| confidences | json | null | |
| proof_image_refs | json | null | |
| model_version | character varying | null | |
| request_id | character varying | null | |
| operator_ack | json | null | |
| metadata | text | null | |
part
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('part_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| part_id | character varying | null | NULL::character varying |
| name | character varying | null | NULL::character varying |
| sku | character varying | null | NULL::character varying |
| scan_type | character varying | null | NULL::character varying |
| description | character varying | null | NULL::character varying |
| created_at | timestamp without time zone | null | now() |
| updated_at | timestamp without time zone | null | |
| created_user | integer | null | |
| updated_user | integer | null | |
| status | character varying | null | NULL::character varying |
| attributes | json | null | |
| metadata | text | null | |
part_image
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('part_image_id_seq'::regclass) |
| part_id | integer | null | → dori.part.id |
| image_id | integer | null | → dori.image.id |
| orientation | character varying | null | NULL::character varying |
| is_favorite | boolean | null | false |
| is_acceptable | boolean | null | false |
| is_archived | boolean | null | false |
| metadata | text | null | |
| attributes | json | null | |
receiver
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('receiver_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| name | character varying | null | |
| type | character varying | null | |
| config | jsonb | null | '{}'::jsonb |
| is_active | boolean | null | true |
| created_at | timestamp with time zone | null | now() |
| user_id | integer | null | → dori.app_user.id |
service_bundle
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('service_bundle_id_seq'::regclass) |
| name | character varying | null | NULL::character varying |
| version | character varying | null | NULL::character varying |
| description | character varying | null | NULL::character varying |
| service_bundle_url | character varying | null | NULL::character varying |
| service_bundle_config | text | null | |
service_bundle_company
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('service_bundle_company_id_seq'::regclass) |
| company_id | integer | null | → dori.company.id |
| service_bundle_id | integer | null | → dori.service_bundle.id |
sys_config
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | |
| config_key | character varying | null | |
| config_value | character varying | null | |
user_log
| Column | Type | Null | Default / FK |
|---|
| id | integer | null | nextval('user_log_id_seq'::regclass) |
| user_id | integer | null | |
| login_time | timestamp without time zone | null | now() |
| ip_address | character varying | null | NULL::character varying |
| status | character varying | null | NULL::character varying |
| metadata | text | null | |
schema: inference
avi_file_tracker
| Column | Type | Null | Default / FK |
|---|
| time_sec | timestamp without time zone | null | now() |
| request_id | character varying | null | |
| file_name | character varying | null | NULL::character varying |
| start_frame | integer | null | |
| end_frame | integer | null | |
| fps | integer | null | |
| frame_window | integer | null | |
| is_valid | boolean | null | true |
| message | text | null | |
deployment
| Column | Type | Null | Default / FK |
|---|
| time_sec | timestamp without time zone | null | now() |
| deployment_id | character varying | null | |
| instance_id | character varying | null | |
| user_id | character varying | null | |
inference_alerts
| Column | Type | Null | Default / FK |
|---|
| time_sec | timestamp without time zone | null | now() |
| request_id | character varying | null | |
| alert_message | character varying | null | |
inference_detectobject_predicted
| Column | Type | Null | Default / FK |
|---|
| id | uuid | null | uuid_generate_v4() |
| time_sec | timestamp without time zone | null | now() |
| deployment_id | character varying | null | |
| request_id | character varying | null | |
| eval_job_id | character varying | null | |
| instance_id | bigint | null | |
| camera_id | character varying | null | |
| request_model_mapping_id | bigint | null | |
| model_id | bigint | null | |
| batch_id | bigint | null | |
| frame_id | bigint | null | |
| filename | character varying | null | |
| label | character varying | null | |
| confidence | double precision | null | |
| latency | bigint | null | |
| x0 | double precision | null | |
| y0 | double precision | null | |
| x1 | double precision | null | |
| y1 | double precision | null | |
| segmentation | bytea | null | |
| event_time | timestamp without time zone | null | |
inference_detectobject_request
| Column | Type | Null | Default / FK |
|---|
| time_sec | timestamp without time zone | null | now() |
| deployment_id | character varying | null | |
| request_id | character varying | null | |
| eval_job_id | character varying | null | |
| user_id | character varying | null | |
| down_count | integer | null | |
| mlc_ip | character varying | null | NULL::character varying |
| stream_status | character varying | null | NULL::character varying |
| last_update | timestamp without time zone | null | |
inference_detectobject_request_status
| Column | Type | Null | Default / FK |
|---|
| time_sec | timestamp without time zone | null | now() |
| request_id | character varying | null | |
| execution_time | bigint | null | |
| batch_size | bigint | null | |
| request_status | character varying | null | |
| error_msg | character varying | null | |
inference_distance_violations_info
| Column | Type | Null | Default / FK |
|---|
| id | uuid | null | uuid_generate_v4() |
| object_id | character varying | null | |
| nearest_object_id | character varying | null | |
| nearest_object_distance | double precision | null | |
| group_id | bigint | null | |
inference_event
| Column | Type | Null | Default / FK |
|---|
| id | uuid | null | uuid_generate_v4() |
| time_sec | timestamp without time zone | null | now() |
| deployment_id | character varying | null | |
| request_id | character varying | null | |
| folder | character varying | null | |
| snippet_url | character varying | null | |
| thumbnail_url | character varying | null | |
| camera_id | character varying | null | |
| event_type | character varying | null | |
| start_frame_id | bigint | null | |
| end_frame_id | bigint | null | |
| confidence | double precision | null | |
| group_id | bigint | null | |
| event_time | timestamp without time zone | null | |
| event_data | text | null | |
| is_valid | boolean | null | true |
| is_overridden | boolean | null | false |
| is_rescan | boolean | null | false |
| filename | character varying | null | NULL::character varying |
inference_event_image
| Column | Type | Null | Default / FK |
|---|
| id | bigint | null | nextval('inference.inference_event_image_id_seq'::regclass) |
| event_id | uuid | null | |
| frame_id | bigint | null | |
| thumbnail_url | character varying | null | |
inference_runtimestat
| Column | Type | Null | Default / FK |
|---|
| id | uuid | null | uuid_generate_v4() |
| time_sec | timestamp without time zone | null | now() |
| deployment_id | character varying | null | |
| request_id | character varying | null | |
| eval_job_id | character varying | null | |
| instance_id | bigint | null | |
| cpu_usage | double precision | null | |
| memory_usage | double precision | null | |
| gpu_memory | double precision | null | |
| gpu_utilization | double precision | null | |
| gpu_temprature | double precision | null | |
| execution_time | bigint | null | |
inference_unattended_objects
| Column | Type | Null | Default / FK |
|---|
| id | uuid | null | uuid_generate_v4() |
| object_id | character varying | null | |
schema: public
alembic_version
| Column | Type | Null | Default / FK |
|---|
| version_num | character varying | null | |