Data Model Diff — d_* → standard

Proposed rename of dori_dash to the standard convention (drop d_ prefix, snake_case, FK x_id, schema d_inference_detectobject→inference) · 2026-09-26 00:12 UTC · Current data model → · Docs index

✓ Deployed to production. Merged to main and live on mapp-instance after a clean fresh install (2026-09-30): alembic head 016, schema fully standardized (0 d_* tables in dori). This page is the historical record of the change.
43Tables renamed
57Columns renamed
1Schema renamed
1Reserved-word fix
Reserved word: d_user cannot become user — user is a Postgres reserved keyword and would need quoting everywhere. It is renamed to app_user to stay unquoted and keep the singular convention.
MLC contract: the inference schema tables are written to directly by the MLC and the external dori_db source. Renaming them breaks live inference until the MLC image is updated in lockstep — deploy that part only after MLC coordination.

Schemas

CurrentProposedNote
dori→unchangedalready standard
d_inference_detectobject→inferenceMLC contract
public→unchangedalready standard

Application core (dori)32 tables in schema dori → dori

Current tableProposed tableColumn renames
dori.d_client→dori.clientno column renames
dori.d_client_user→dori.client_userd_client_id→client_id
d_user_id→user_id
dori.d_cloud_store_config→dori.cloud_store_configd_company_id→company_id
dori.d_company→dori.companyno column renames
dori.d_company_config→dori.company_configd_company_id→company_id
dori.d_device→dori.deviced_location_id→location_id
d_mlc_id→mlc_id
d_service_bundle_id→service_bundle_id
d_vms_id→vms_id
dori.d_dynamic_kit→dori.dynamic_kitd_company_id→company_id
dori.d_dynamic_kit_part→dori.dynamic_kit_partd_dynamic_kit_id→dynamic_kit_id
d_part_id→part_id
dori.d_event_note→dori.event_noted_inference_event_id→inference_event_id
dori.d_event_type→dori.event_typed_service_bundle_id→service_bundle_id
dori.d_image→dori.imageno column renames
dori.d_job→dori.jobd_device_id→device_id
d_user_id→user_id
d_project_id→project_id
d_model_id→model_id
d_mlc_id→mlc_id
d_dataset_id→dataset_id
d_service_bundle_id→service_bundle_id
dori.d_kit→dori.kitd_company_id→company_id
dori.d_kit_image→dori.kit_imaged_kit_id→kit_id
d_image_id→image_id
dori.d_kit_part→dori.kit_partd_kit_id→kit_id
d_part_id→part_id
dori.d_location→dori.locationd_company_id→company_id
dori.d_message_log→dori.message_logd_subscriber_id→subscriber_id
d_inference_event_id→inference_event_id
d_company_id→company_id
d_location_id→location_id
d_device_id→device_id
dori.d_mlc→dori.mlcd_service_bundle_id→service_bundle_id
dori.d_mlc_config→dori.mlc_configd_mlc_id→mlc_id
dori.d_mlc_config_company→dori.mlc_config_companyd_mlc_config_id→mlc_config_id
d_company_id→company_id
dori.d_pallet_result→dori.pallet_resultd_company_id→company_id
d_location_id→location_id
d_device_id→device_id
dori.d_part→dori.partd_company_id→company_id
dori.d_part_image→dori.part_imaged_part_id→part_id
d_image_id→image_id
dori.d_prediction_comment→dori.prediction_commentno column renames
dori.d_service_bundle→dori.service_bundleno column renames
dori.d_service_bundle_company→dori.service_bundle_companyd_company_id→company_id
d_service_bundle_id→service_bundle_id
dori.d_subscriber→dori.subscriberd_company_id→company_id
dori.d_subscriber_event→dori.subscriber_eventd_subscriber_id→subscriber_id
d_company_id→company_id
d_location_id→location_id
d_device_id→device_id
dori.d_sys_config→dori.sys_configno column renames
dori.d_user reserved→app_user→dori.app_userd_company_id→company_id
d_location_id→location_id
dori.d_user_log→dori.user_logd_user_id→user_id
dori.d_vw_events→dori.vw_eventsd_device_id→device_id
d_service_bundle_id→service_bundle_id
d_mlc_id→mlc_id
d_company_id→company_id

Inference (→ inference schema) MLC / dori_db contract — needs coordination11 tables in schema d_inference_detectobject → inference

Current tableProposed tableColumn renames
d_inference_detectobject.d_avi_file_tracker→inference.avi_file_trackerno column renames
d_inference_detectobject.d_deployment→inference.deploymentno column renames
d_inference_detectobject.d_inference_alerts→inference.inference_alertsno column renames
d_inference_detectobject.d_inference_detectobject_predicted→inference.inference_detectobject_predictedd_request_model_mapping_id→request_model_mapping_id
d_model_id→model_id
d_inference_detectobject.d_inference_detectobject_request→inference.inference_detectobject_requestno column renames
d_inference_detectobject.d_inference_detectobject_request_status→inference.inference_detectobject_request_statusno column renames
d_inference_detectobject.d_inference_distance_violations_info→inference.inference_distance_violations_infono column renames
d_inference_detectobject.d_inference_event→inference.inference_eventno column renames
d_inference_detectobject.d_inference_event_image→inference.inference_event_imageno column renames
d_inference_detectobject.d_inference_runtimestat→inference.inference_runtimestatno column renames
d_inference_detectobject.d_inference_unattended_objects→inference.inference_unattended_objectsno column renames

Migration metadata1 tables in schema public → public

Current tableProposed tableColumn renames
public.alembic_version→public.—no column renames