# Sana schema ERD

Table and field reference for the Fivetran Sana connector.

## Table & Field Reference

### path_content

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| path_id | Unknown | PK, FK |
| content | Unknown | FK |

### path

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| image_url | Unknown |  |
| title | Unknown |  |

### groups

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| name | Unknown |  |
| type | Unknown |  |

### group_assignment

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| group_id | Unknown | FK |
| content_id | Unknown |  |
| content_type | Unknown |  |
| identity_id | Unknown |  |
| identity_type | Unknown |  |

### course

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| duration_in_minutes | Unknown |  |
| external_id | Unknown |  |
| image_url | Unknown |  |
| level | Unknown |  |
| link | Unknown |  |
| title | Unknown |  |
| type | Unknown |  |

### group_user_list

| Column | Type | Keys |
| --- | --- | --- |
| group_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |
| role | Unknown |  |

### user_assignment

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| user_id | Unknown | FK |
| assignment_time | Unknown |  |
| content_id | Unknown |  |
| content_type | Unknown |  |
| due_date_absolute | Unknown |  |
| identity_id | Unknown |  |
| identity_type | Unknown |  |
| is_status_completed | Unknown |  |
| passed_time | Unknown |  |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| activated_at | Unknown |  |
| created_at | Unknown |  |
| disabled | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| is_manager | Unknown |  |
| is_sso_email | Unknown |  |
| languages | Unknown |  |
| last_invite_sent_at | Unknown |  |
| last_name | Unknown |  |
| manager_id | Unknown |  |
| role | Unknown |  |
| status | Unknown |  |
| custom_attribute_** |  |  |

### exercise_submission_report

| Column | Type | Keys |
| --- | --- | --- |
| exercise_id | Unknown | PK |
| submission_id | Unknown | PK |
| content_id | Unknown | FK |
| attempt | Unknown |  |
| content_progress | Unknown |  |
| content_title | Unknown |  |
| due_date | Unknown |  |
| email | Unknown |  |
| exercise_name | Unknown |  |
| first_name | Unknown |  |
| last_name | Unknown |  |
| response_id | Unknown |  |
| response_text | Unknown |  |
| reviewer | Unknown |  |
| status | Unknown |  |
| submission_date | Unknown |  |

### interactive_element_report

| Column | Type | Keys |
| --- | --- | --- |
| interactive_element_id | Unknown | PK |
| content_id | Unknown | PK, FK |
| card_id | Unknown |  |
| card_title | Unknown |  |
| completion_rate | Unknown |  |
| content_title | Unknown |  |
| content_type | Unknown |  |
| first_attempt_correct_rate | Unknown |  |
| interactive_element_text | Unknown |  |
| interactive_element_type | Unknown |  |
| is_mandatory | Unknown |  |
| learners_attempted | Unknown |  |

### course_completion_report

| Column | Type | Keys |
| --- | --- | --- |
| course_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |
| first_name | Unknown |  |
| last_name | Unknown |  |
| time_stamp | Unknown |  |
| title | Unknown |  |

### content_report

| Column | Type | Keys |
| --- | --- | --- |
| content_id | Unknown | PK, FK |
| assignments | Unknown |  |
| average_rating | Unknown |  |
| completion_rate | Unknown |  |
| content_type | Unknown |  |
| description | Unknown |  |
| duration_in_minute | Unknown |  |
| image | Unknown |  |
| is_visible | Unknown |  |
| learners | Unknown |  |
| number_of_ratings | Unknown |  |
| progress_rate_25 | Unknown |  |
| progress_rate_50 | Unknown |  |
| progress_rate_75 | Unknown |  |
| skill | Unknown |  |
| start_rate | Unknown |  |
| title | Unknown |  |

### user_report

| Column | Type | Keys |
| --- | --- | --- |
| user_id | Unknown | PK, FK |
| activated_at | Unknown |  |
| assigned_courses | Unknown |  |
| created_at | Unknown |  |
| disabled_at | Unknown |  |
| progress_percentage | Unknown |  |
| time_spent_in_minutes | Unknown |  |

### learner_progress_report

| Column | Type | Keys |
| --- | --- | --- |
| content_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |
| group_id | Unknown | FK |
| assigned_to_user_directly | Unknown |  |
| assignment_method | Unknown |  |
| assignment_time | Unknown |  |
| content_title | Unknown |  |
| content_type | Unknown |  |
| due_date | Unknown |  |
| email | Unknown |  |
| first_attempt_correct_rate | Unknown |  |
| first_name | Unknown |  |
| group_name | Unknown |  |
| included_in_path | Unknown |  |
| last_name | Unknown |  |
| last_progress_time | Unknown |  |
| passed_time | Unknown |  |
| progress | Unknown |  |
| start_time | Unknown |  |
| user_status | Unknown |  |

### reflection_response_report

| Column | Type | Keys |
| --- | --- | --- |
| reflection_id | Unknown | PK |
| response_id | Unknown | PK |
| content_id | Unknown | FK |
| user_id | Unknown | FK |
| content_title | Unknown |  |
| created_at | Unknown |  |
| edited_at | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| is_anonymous | Unknown |  |
| last_name | Unknown |  |
| reflection_text | Unknown |  |
| response_text | Unknown |  |

### poll_result_aggregate_report

| Column | Type | Keys |
| --- | --- | --- |
| answer_id | Unknown | PK |
| poll_id | Unknown | PK |
| course_id | Unknown | FK |
| answer | Unknown |  |
| answer_count | Unknown |  |
| course_title | Unknown |  |
| poll_version_id | Unknown |  |
| question | Unknown |  |

## Relationships

- path_content(content) → course(id)
- path_content(path_id) → path(id)
- group_assignment(group_id) → groups(id)
- group_user_list(user_id) → users(id)
- group_user_list(group_id) → groups(id)
- user_assignment(user_id) → users(id)
- exercise_submission_report(content_id) → course(id)
- interactive_element_report(content_id) → course(id)
- course_completion_report(course_id) → course(id)
- course_completion_report(user_id) → users(id)
- content_report(content_id) → course(id)
- user_report(user_id) → users(id)
- learner_progress_report(user_id) → users(id)
- learner_progress_report(group_id) → groups(id)
- learner_progress_report(content_id) → course(id)
- reflection_response_report(user_id) → users(id)
- reflection_response_report(content_id) → course(id)
- poll_result_aggregate_report(course_id) → course(id)
