# TestRail schema ERD

Table and field reference for the Fivetran TestRail connector.

## Table & Field Reference

### template

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| is_default | Unknown |  |
| name | Unknown |  |

### configuration_config

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| configuration_id | Unknown | PK, FK |
| project_id | Unknown | PK, FK |
| group_id | Unknown | FK |
| name | Unknown |  |

### configuration

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | PK, FK |
| name | Unknown |  |

### roles

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| is_default | Unknown |  |
| is_project_admin | Unknown |  |
| name | Unknown |  |

### project

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| announcement | Unknown |  |
| case_statuses_enabled | Unknown |  |
| completed_on | Unknown |  |
| default_role | Unknown |  |
| default_role_id | Unknown |  |
| groups | Json |  |
| is_completed | Unknown |  |
| name | Unknown |  |
| show_announcement | Unknown |  |
| suite_mode | Unknown |  |
| url | Unknown |  |

### run_config_id

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| run_id | Unknown | PK, FK |
| config_id | Unknown |  |

### run

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| dataset_id | Unknown | FK |
| milestone_id | Unknown | FK |
| plan_id | Unknown | FK |
| project_id | Unknown | FK |
| suite_id | Unknown | FK |
| assigned_to_id | Unknown |  |
| blocked_count | Unknown |  |
| completed_on | Unknown |  |
| config | Unknown |  |
| config_ids | Json |  |
| created_by | Unknown |  |
| created_on | Unknown |  |
| custom_status_1_count | Unknown |  |
| custom_status_2_count | Unknown |  |
| custom_status_3_count | Unknown |  |
| custom_status_4_count | Unknown |  |
| custom_status_5_count | Unknown |  |
| custom_status_6_count | Unknown |  |
| custom_status_7_count | Unknown |  |
| description | Unknown |  |
| failed_count | Unknown |  |
| include_all | Unknown |  |
| is_completed | Unknown |  |
| name | Unknown |  |
| passed_count | Unknown |  |
| refs | Unknown |  |
| retest_count | Unknown |  |
| untested_count | Unknown |  |
| updated_on | Instant |  |
| url | Unknown |  |

### section

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| parent_id | Unknown | FK |
| suite_id | Unknown | FK |
| depth | Unknown |  |
| description | Unknown |  |
| display_order | Unknown |  |
| name | Unknown |  |

### result_field_config_project

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| result_field_config_id | Unknown | PK, FK |
| result_field_id | Unknown | PK, FK |
| project_id | Unknown | FK |

### result_field_config

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| result_field_id | Unknown | PK, FK |
| context_is_global | Unknown |  |
| options_format | Unknown |  |
| options_has_actual | Unknown |  |
| options_has_expected | Unknown |  |
| options_is_required | Unknown |  |
| options_row | Unknown |  |

### result_field_template

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| result_field_id | Unknown | PK, FK |
| template_id | Unknown | FK |

### result_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| display_order | Unknown |  |
| include_all | Unknown |  |
| is_active | Unknown |  |
| label | Unknown |  |
| name | Unknown |  |
| system_name | Unknown |  |
| type_id | Unknown |  |

### plan_run_config

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| plan_run_id | Unknown | PK, FK |
| config_id | Unknown |  |

### plan_run

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| assigned_to_id | Unknown | FK |
| created_by | Unknown | FK |
| dataset_id | Unknown | FK |
| milestone_id | Unknown | FK |
| plan_id | Unknown | FK |
| project_id | Unknown | FK |
| suite_id | Unknown | FK |
| blocked_count | Unknown |  |
| completed_on | Instant |  |
| config | Unknown |  |
| created_on | Instant |  |
| custom_status_1_count | Unknown |  |
| custom_status_2_count | Unknown |  |
| custom_status_3_count | Unknown |  |
| custom_status_4_count | Unknown |  |
| custom_status_5_count | Unknown |  |
| custom_status_6_count | Unknown |  |
| custom_status_7_count | Unknown |  |
| description | Unknown |  |
| due_on | Instant |  |
| entry_id | Unknown |  |
| entry_index | Unknown |  |
| failed_count | Unknown |  |
| include_all | Unknown |  |
| is_completed | Unknown |  |
| name | Unknown |  |
| passed_count | Unknown |  |
| refs | Unknown |  |
| retest_count | Unknown |  |
| start_on | Instant |  |
| untested_count | Unknown |  |
| updated_on | Instant |  |
| url | Unknown |  |

### result

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| test_id | Unknown | PK, FK |
| status_id | Unknown | FK |
| assigned_to_id | Unknown |  |
| attachment_ids | Json |  |
| comment | Unknown |  |
| created_by | Unknown |  |
| created_on | Unknown |  |
| custom_step_results | Json |  |
| defect | Unknown |  |
| elapsed | Unknown |  |
| version | Unknown |  |

### case_field_config_project

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| case_field_config_id | Unknown | PK, FK |
| case_field_id | Unknown | PK, FK |
| project_id | Unknown | FK |

### case_field_config

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| case_field_id | Unknown | PK, FK |
| context_is_global | Unknown |  |
| options_default_value | Unknown |  |
| options_format | Unknown |  |
| options_has_additional | Unknown |  |
| options_has_expected | Unknown |  |
| options_has_reference | Unknown |  |
| options_is_required | Unknown |  |
| options_item | Unknown |  |
| options_row | Unknown |  |

### case_field_template

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| case_field_id | Unknown | PK, FK |
| template_id | Unknown | FK |

### case_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| display_order | Unknown |  |
| include_all | Unknown |  |
| is_active | Unknown |  |
| label | Unknown |  |
| name | Unknown |  |
| system_name | Unknown |  |
| type_id | Unknown |  |

### shared_custom_step

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| shared_step_id | Unknown | PK, FK |
| additional_info | Unknown |  |
| content | Unknown |  |
| expected | Unknown |  |
| refs | Unknown |  |

### shared_step_case_id

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| shared_step_id | Unknown | PK, FK |
| case_id | Unknown | FK |

### shared_step

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| created_by | Unknown |  |
| created_on | Unknown |  |
| title | Unknown |  |
| updated_by | Unknown |  |
| updated_on | Instant |  |

### plan

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| milestone_id | Unknown | FK |
| project_id | Unknown | FK |
| assigned_to_id | Unknown |  |
| blocked_count | Unknown |  |
| completed_on | Unknown |  |
| created_by | Unknown |  |
| created_on | Unknown |  |
| custom_status_1_count | Unknown |  |
| custom_status_2_count | Unknown |  |
| custom_status_3_count | Unknown |  |
| custom_status_4_count | Unknown |  |
| custom_status_5_count | Unknown |  |
| custom_status_6_count | Unknown |  |
| custom_status_7_count | Unknown |  |
| description | Unknown |  |
| failed_count | Unknown |  |
| is_completed | Unknown |  |
| name | Unknown |  |
| passed_count | Unknown |  |
| refs | Unknown |  |
| retest_count | Unknown |  |
| untested_count | Unknown |  |
| url | Unknown |  |

### shared_history_custom_step

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| shared_step_history_id | Unknown | PK, FK |
| additional_info | Unknown |  |
| content | Unknown |  |
| expected | Unknown |  |
| refs | Unknown |  |

### shared_step_history

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| shared_step_id | Unknown | PK, FK |
| user_id | Unknown | FK |
| time_stamp | Unknown |  |
| title | Unknown |  |

### cases_custom_step_separated

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| cases_id | Unknown | PK, FK |
| additional_info | Unknown |  |
| content | Unknown |  |
| expected | Unknown |  |
| refs | Unknown |  |

### cases

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| case_assigned_to_id | Unknown | FK |
| milestone_id | Unknown | FK |
| priority_id | Unknown | FK |
| project_id | Unknown | FK |
| section_id | Unknown | FK |
| suite_id | Unknown | FK |
| template_id | Unknown | FK |
| type_id | Unknown | FK |
| comments | Json |  |
| created_by | Unknown |  |
| created_on | Unknown |  |
| custom_automation_type | Unknown |  |
| custom_component | Unknown |  |
| custom_description | Unknown |  |
| custom_expected | Unknown |  |
| custom_goal | Unknown |  |
| custom_mission | Unknown |  |
| custom_precond | Unknown |  |
| custom_result | Unknown |  |
| custom_step | Unknown |  |
| custom_team | Unknown |  |
| custom_testrail_bdd_scenario | Unknown |  |
| display_order | Unknown |  |
| estimate | Unknown |  |
| estimate_forecast | Unknown |  |
| is_deleted | Unknown |  |
| refs | Unknown |  |
| title | Unknown |  |
| updated_by | Unknown |  |
| updated_on | Instant |  |

### test_custom_step

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| test_id | Unknown | PK, FK |
| additional_info | Unknown |  |
| content | Unknown |  |
| expected | Unknown |  |
| refs | Unknown |  |
| shared_step_id | Unknown |  |

### test

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| case_assigned_to_id | Unknown | FK |
| case_id | Unknown | FK |
| milestone_id | Unknown | FK |
| priority_id | Unknown | FK |
| run_id | Unknown | FK |
| status_id | Unknown | FK |
| template_id | Unknown | FK |
| type_id | Unknown | FK |
| assigned_to_id | Unknown |  |
| case_comments | Json |  |
| cases_display_order | Unknown |  |
| custom_automation_type | Unknown |  |
| custom_component | Unknown |  |
| custom_description | Unknown |  |
| custom_expected | Unknown |  |
| custom_goal | Unknown |  |
| custom_mission | Unknown |  |
| custom_precond | Unknown |  |
| custom_result | Unknown |  |
| custom_step | Unknown |  |
| custom_team | Unknown |  |
| custom_testrail_bdd_scenario | Unknown |  |
| estimate | Unknown |  |
| estimate_forecast | Unknown |  |
| refs | Unknown |  |
| sections_display_order | Unknown |  |
| title | Unknown |  |

### case_type

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

### group_user

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

### groups

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

### priority

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| is_default | Unknown |  |
| name | Unknown |  |
| priority | Unknown |  |
| short_name | Unknown |  |

### user_assigned_project

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| users_id | Unknown | PK, FK |
| assigned_project | Unknown | FK |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | PK, FK |
| role_id | Unknown | FK |
| email | Unknown |  |
| email_notification | Unknown |  |
| group_ids | Json |  |
| is_active | Unknown |  |
| is_admin | Unknown |  |
| mfa_required | Unknown |  |
| name | Unknown |  |
| role | Unknown |  |
| sso_enabled | Unknown |  |

### suite

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| completed_on | Unknown |  |
| description | Unknown |  |
| is_baseline | Unknown |  |
| is_completed | Unknown |  |
| is_master | Unknown |  |
| name | Unknown |  |
| url | Unknown |  |

### milestone

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| parent_id | Unknown | FK |
| project_id | Unknown | FK |
| completed_on | Unknown |  |
| description | Unknown |  |
| due_on | Unknown |  |
| is_completed | Unknown |  |
| is_started | Unknown |  |
| milestones | Json |  |
| name | Unknown |  |
| refs | Unknown |  |
| start_on | Unknown |  |
| started_on | Unknown |  |
| url | Unknown |  |

### case_status

| Column | Type | Keys |
| --- | --- | --- |
| case_status_id | Unknown | PK |
| abbreviation | Unknown |  |
| is_approved | Unknown |  |
| is_default | Unknown |  |
| name | Unknown |  |

### report

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| cases_id | Unknown | FK |
| project_id | Unknown | FK |
| cases_filter | Unknown |  |
| cases_groupby | Unknown |  |
| cases_include_new | Unknown |  |
| cases_include_updated | Unknown |  |
| cases_limit | Unknown |  |
| changes_daterange | Unknown |  |
| changes_daterange_from | Unknown |  |
| changes_daterange_to | Unknown |  |
| content_hide_link | Unknown |  |
| description | Unknown |  |
| name | Unknown |  |
| notify_attachment | Unknown |  |
| notify_attachment_html_format | Unknown |  |
| notify_attachment_pdf_format | Unknown |  |
| notify_attachment_recipient | Unknown |  |
| notify_link | Unknown |  |
| notify_link_recipient | Unknown |  |
| notify_user | Unknown |  |
| section_id | Json |  |
| sections_include | Unknown |  |
| suite_id | Json |  |
| suites_include | Unknown |  |

### dataset_variable

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| dataset_id | Unknown | PK, FK |
| name | Unknown |  |
| value | Unknown |  |

### dataset

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| name | Unknown |  |

### status

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| color_bright | Unknown |  |
| color_dark | Unknown |  |
| color_medium | Unknown |  |
| is_final | Unknown |  |
| is_system | Unknown |  |
| is_untested | Unknown |  |
| label | Unknown |  |
| name | Unknown |  |

### global_user_assigned_project

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| global_user_id | Unknown | PK, FK |
| assigned_project | Unknown | FK |

### global_user

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| role_id | Unknown | FK |
| email | Unknown |  |
| email_notification | Unknown |  |
| group_ids | Json |  |
| is_active | Unknown |  |
| is_admin | Unknown |  |
| mfa_required | Unknown |  |
| name | Unknown |  |
| role | Unknown |  |
| sso_enabled | Unknown |  |

## Relationships

- template(project_id) → project(id)
- configuration_config(group_id) → groups(id)
- configuration_config(configuration_id) → configuration(id)
- configuration_config(project_id) → configuration(project_id)
- configuration(project_id) → project(id)
- run_config_id(run_id) → run(id)
- run(plan_id) → plan(id)
- run(milestone_id) → milestone(id)
- run(dataset_id) → dataset(id)
- run(suite_id) → suite(id)
- run(project_id) → project(id)
- section(suite_id) → suite(id)
- section(parent_id) → section(id)
- result_field_config_project(project_id) → project(id)
- result_field_config_project(result_field_config_id) → result_field_config(id)
- result_field_config_project(result_field_id) → result_field_config(result_field_id)
- result_field_config(result_field_id) → result_field(id)
- result_field_template(template_id) → template(id)
- result_field_template(result_field_id) → result_field(id)
- plan_run_config(plan_run_id) → plan_run(id)
- plan_run(assigned_to_id) → global_user(id)
- plan_run(plan_id) → plan(id)
- plan_run(created_by) → global_user(id)
- plan_run(milestone_id) → milestone(id)
- plan_run(dataset_id) → dataset(id)
- plan_run(suite_id) → suite(id)
- plan_run(project_id) → project(id)
- result(status_id) → status(id)
- result(test_id) → test(id)
- case_field_config_project(project_id) → project(id)
- case_field_config_project(case_field_config_id) → case_field_config(id)
- case_field_config_project(case_field_id) → case_field_config(case_field_id)
- case_field_config(case_field_id) → case_field(id)
- case_field_template(template_id) → template(id)
- case_field_template(case_field_id) → case_field(id)
- shared_custom_step(shared_step_id) → shared_step(id)
- shared_step_case_id(case_id) → cases(id)
- shared_step_case_id(shared_step_id) → shared_step(id)
- shared_step(project_id) → project(id)
- plan(milestone_id) → milestone(id)
- plan(project_id) → project(id)
- shared_history_custom_step(shared_step_history_id) → shared_step_history(id)
- shared_step_history(user_id) → users(id)
- shared_step_history(shared_step_id) → shared_step(id)
- cases_custom_step_separated(cases_id) → cases(id)
- cases(template_id) → template(id)
- cases(section_id) → section(id)
- cases(case_assigned_to_id) → users(id)
- cases(milestone_id) → milestone(id)
- cases(suite_id) → suite(id)
- cases(type_id) → case_type(id)
- cases(priority_id) → priority(id)
- cases(project_id) → project(id)
- test_custom_step(test_id) → test(id)
- test(template_id) → template(id)
- test(case_assigned_to_id) → users(id)
- test(status_id) → status(id)
- test(milestone_id) → milestone(id)
- test(case_id) → cases(id)
- test(run_id) → run(id)
- test(type_id) → case_type(id)
- test(priority_id) → priority(id)
- group_user(user_id) → users(id)
- group_user(group_id) → groups(id)
- user_assigned_project(assigned_project) → project(id)
- user_assigned_project(users_id) → users(id)
- users(role_id) → roles(id)
- users(project_id) → project(id)
- suite(project_id) → project(id)
- milestone(project_id) → project(id)
- milestone(parent_id) → milestone(id)
- report(cases_id) → cases(id)
- report(project_id) → project(id)
- dataset_variable(dataset_id) → dataset(id)
- dataset(project_id) → project(id)
- global_user_assigned_project(assigned_project) → project(id)
- global_user_assigned_project(global_user_id) → global_user(id)
- global_user(role_id) → roles(id)
