Data model

"EMPLOYMENT_SOURCE_DATA" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "metadata": JSONB 
  "raw_data": JSONB 
  "source_type": VARCHAR(255) 
}
"CORE_EMPLOYMENT_VERSION" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "company_id": VARCHAR 
  "employment_change_types": ARRAY 
  "employment_id": UUID 
  "employment_source_data_id": UUID 
  "end_date": DATE 
  "external_employee_id": VARCHAR 
  "is_cancelled": BOOLEAN 
  "source_type": VARCHAR(255) 
  "start_date": DATE 
  "user_id": VARCHAR 
}
"EXTENDED_EMPLOYMENT_UPDATE" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "employment_id": UUID 
  "employment_source_data_id": UUID 
  "source_type": VARCHAR(255) 
  "validity_end_date": DATE 
  "validity_start_date": DATE 
  "values": JSONB 
}
"LATEST_CORE_EMPLOYMENT_VERSION" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "core_employment_version_id": UUID 
  "employment_id": UUID 
}
"CORE_BLOCKED_MOVEMENT" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "company_id": TEXT 
  "context": JSONB 
  "employment_id": UUID 
  "employment_source_data_id": UUID 
  "error_code": TEXT 
  "error_message": TEXT 
  "first_terminal_status_reached_at": DATETIME 
  "input_override": JSONB 
  "note": TEXT 
  "parent_blocked_movement_id": UUID 
  "source_rules_override": JSONB 
  "source_type": VARCHAR(255) 
  "status": VARCHAR(255) 
  "upstream_parent_blocked_movement_id": UUID 
  "user_id": TEXT 
}
"UPSTREAM_BLOCKED_MOVEMENT" {
  shape: sql_table
  "id": UUID {constraint: primary_key}
  "company_id": TEXT 
  "context": JSONB 
  "employment_source_data_id": UUID 
  "error_code": TEXT 
  "error_message": TEXT 
  "first_terminal_status_reached_at": DATETIME 
  "input_override": JSONB 
  "note": TEXT 
  "parent_blocked_movement_id": UUID 
  "source_type": VARCHAR(255) 
  "status": VARCHAR(255) 
  "upstream_data": JSONB 
  "user_id": TEXT 
}
"EMPLOYMENT_SOURCE_DATA"."id" -> "CORE_EMPLOYMENT_VERSION"."employment_source_data_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"EMPLOYMENT_SOURCE_DATA"."id" -> "EXTENDED_EMPLOYMENT_UPDATE"."employment_source_data_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"CORE_EMPLOYMENT_VERSION"."id" -> "LATEST_CORE_EMPLOYMENT_VERSION"."core_employment_version_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"UPSTREAM_BLOCKED_MOVEMENT"."id" -> "CORE_BLOCKED_MOVEMENT"."upstream_parent_blocked_movement_id": {
  source-arrowhead.shape: cf-one
  target-arrowhead.shape: cf-many
}
"EMPLOYMENT_SOURCE_DATA"."id" -> "CORE_BLOCKED_MOVEMENT"."employment_source_data_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"CORE_BLOCKED_MOVEMENT"."id" -> "CORE_BLOCKED_MOVEMENT"."parent_blocked_movement_id": {
  source-arrowhead.shape: cf-one
  target-arrowhead.shape: cf-many
}
"UPSTREAM_BLOCKED_MOVEMENT"."id" -> "UPSTREAM_BLOCKED_MOVEMENT"."parent_blocked_movement_id": {
  source-arrowhead.shape: cf-one
  target-arrowhead.shape: cf-many
}
"EMPLOYMENT_SOURCE_DATA"."id" -> "UPSTREAM_BLOCKED_MOVEMENT"."employment_source_data_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
Hold "Alt" / "Option" to enable pan & zoom