# Database Schema Documentation > Generated: 2026-03-19 10:55:06 > Database: go-no-go > Total Tables: 23 ## Table of Contents - [action_events](#action_events) - [answers](#answers) - [cache](#cache) - [cache_locks](#cache_locks) - [categories](#categories) - [configs](#configs) - [failed_jobs](#failed_jobs) - [job_batches](#job_batches) - [jobs](#jobs) - [logs](#logs) - [migrations](#migrations) - [nova_field_attachments](#nova_field_attachments) - [nova_notifications](#nova_notifications) - [nova_pending_field_attachments](#nova_pending_field_attachments) - [password_reset_tokens](#password_reset_tokens) - [question_groups](#question_groups) - [questionnaire_sessions](#questionnaire_sessions) - [questions](#questions) - [roles](#roles) - [screening_answers](#screening_answers) - [screenings](#screenings) - [sessions](#sessions) - [users](#users) --- ## action_events | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | batch_id | char(36) | NO | MUL | NULL | | | | user_id | bigint unsigned | NO | MUL | NULL | | | | name | varchar(255) | NO | | NULL | | | | actionable_type | varchar(255) | NO | MUL | NULL | | | | actionable_id | bigint unsigned | NO | | NULL | | | | target_type | varchar(255) | NO | MUL | NULL | | | | target_id | bigint unsigned | NO | | NULL | | | | model_type | varchar(255) | NO | | NULL | | | | model_id | bigint unsigned | YES | | NULL | | | | fields | text | NO | | NULL | | | | status | varchar(25) | NO | | running | | | | exception | text | NO | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | | original | mediumtext | YES | | NULL | | | | changes | mediumtext | YES | | NULL | | | --- ## answers | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | session_id | bigint unsigned | NO | MUL | NULL | | → questionnaire_sessions.id | | question_id | bigint unsigned | NO | MUL | NULL | | → questions.id | | value | varchar(255) | YES | | NULL | | | | text_value | text | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **answers_question_id_foreign**: `question_id` → `questions.id` - **answers_session_id_foreign**: `session_id` → `questionnaire_sessions.id` --- ## cache | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | key | varchar(255) | NO | PRI | NULL | | | | value | mediumtext | NO | | NULL | | | | expiration | int | NO | MUL | NULL | | | --- ## cache_locks | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | key | varchar(255) | NO | PRI | NULL | | | | owner | varchar(255) | NO | | NULL | | | | expiration | int | NO | MUL | NULL | | | --- ## categories | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | name | varchar(255) | NO | UNI | NULL | | | | sort_order | int unsigned | NO | | 0 | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | --- ## configs | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | key | varchar(255) | NO | PRI | NULL | | | | json_value | json | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | --- ## failed_jobs | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | uuid | varchar(255) | NO | UNI | NULL | | | | connection | text | NO | | NULL | | | | queue | text | NO | | NULL | | | | payload | longtext | NO | | NULL | | | | exception | longtext | NO | | NULL | | | | failed_at | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED | | --- ## job_batches | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | varchar(255) | NO | PRI | NULL | | | | name | varchar(255) | NO | | NULL | | | | total_jobs | int | NO | | NULL | | | | pending_jobs | int | NO | | NULL | | | | failed_jobs | int | NO | | NULL | | | | failed_job_ids | longtext | NO | | NULL | | | | options | mediumtext | YES | | NULL | | | | cancelled_at | int | YES | | NULL | | | | created_at | int | NO | | NULL | | | | finished_at | int | YES | | NULL | | | --- ## jobs | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | queue | varchar(255) | NO | MUL | NULL | | | | payload | longtext | NO | | NULL | | | | attempts | tinyint unsigned | NO | | NULL | | | | reserved_at | int unsigned | YES | | NULL | | | | available_at | int unsigned | NO | | NULL | | | | created_at | int unsigned | NO | | NULL | | | --- ## logs | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | user_id | bigint unsigned | YES | MUL | NULL | | → users.id | | session_id | bigint unsigned | YES | MUL | NULL | | → questionnaire_sessions.id | | category_id | bigint unsigned | YES | MUL | NULL | | → categories.id | | action | varchar(100) | NO | | NULL | | | | metadata | json | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **logs_category_id_foreign**: `category_id` → `categories.id` - **logs_session_id_foreign**: `session_id` → `questionnaire_sessions.id` - **logs_user_id_foreign**: `user_id` → `users.id` --- ## migrations | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | int unsigned | NO | PRI | NULL | auto_increment | | | migration | varchar(255) | NO | | NULL | | | | batch | int | NO | | NULL | | | --- ## nova_field_attachments | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | int unsigned | NO | PRI | NULL | auto_increment | | | attachable_type | varchar(255) | NO | MUL | NULL | | | | attachable_id | bigint unsigned | NO | | NULL | | | | attachment | varchar(255) | NO | | NULL | | | | disk | varchar(255) | NO | | NULL | | | | url | varchar(255) | NO | MUL | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | --- ## nova_notifications | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | char(36) | NO | PRI | NULL | | | | type | varchar(255) | NO | | NULL | | | | notifiable_type | varchar(255) | NO | MUL | NULL | | | | notifiable_id | bigint unsigned | NO | | NULL | | | | data | text | NO | | NULL | | | | read_at | timestamp | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | | deleted_at | timestamp | YES | | NULL | | | --- ## nova_pending_field_attachments | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | int unsigned | NO | PRI | NULL | auto_increment | | | draft_id | varchar(255) | NO | MUL | NULL | | | | attachment | varchar(255) | NO | | NULL | | | | disk | varchar(255) | NO | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | --- ## password_reset_tokens | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | email | varchar(255) | NO | PRI | NULL | | | | token | varchar(255) | NO | | NULL | | | | created_at | timestamp | YES | | NULL | | | --- ## question_groups | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | category_id | bigint unsigned | NO | MUL | NULL | | → categories.id | | name | varchar(255) | NO | | NULL | | | | sort_order | int unsigned | NO | | 0 | | | | description | text | YES | | NULL | | | | scoring_instructions | text | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **question_groups_category_id_foreign**: `category_id` → `categories.id` --- ## questionnaire_sessions | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | user_id | bigint unsigned | NO | MUL | NULL | | → users.id | | category_id | bigint unsigned | NO | MUL | NULL | | → categories.id | | screening_id | bigint unsigned | YES | MUL | NULL | | → screenings.id | | status | varchar(50) | NO | | in_progress | | | | score | int | YES | | NULL | | | | result | varchar(50) | YES | | NULL | | | | additional_comments | text | YES | | NULL | | | | completed_at | timestamp | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **questionnaire_sessions_category_id_foreign**: `category_id` → `categories.id` - **questionnaire_sessions_screening_id_foreign**: `screening_id` → `screenings.id` - **questionnaire_sessions_user_id_foreign**: `user_id` → `users.id` --- ## questions | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | question_group_id | bigint unsigned | NO | MUL | NULL | | → question_groups.id | | text | text | NO | | NULL | | | | has_yes | tinyint(1) | NO | | 0 | | | | has_no | tinyint(1) | NO | | 0 | | | | has_na | tinyint(1) | NO | | 0 | | | | details | varchar(50) | YES | | NULL | | | | sort_order | int unsigned | NO | | 0 | | | | is_scored | tinyint(1) | NO | | 0 | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **questions_question_group_id_foreign**: `question_group_id` → `question_groups.id` --- ## roles | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | name | varchar(255) | NO | UNI | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | --- ## screening_answers | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | screening_id | bigint unsigned | NO | MUL | NULL | | → screenings.id | | question_number | int unsigned | NO | | NULL | | | | value | varchar(10) | NO | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **screening_answers_screening_id_foreign**: `screening_id` → `screenings.id` --- ## screenings | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | user_id | bigint unsigned | NO | MUL | NULL | | → users.id | | score | decimal(4,1) | YES | | NULL | | | | passed | tinyint(1) | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **screenings_user_id_foreign**: `user_id` → `users.id` --- ## sessions | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | varchar(255) | NO | PRI | NULL | | | | user_id | bigint unsigned | YES | MUL | NULL | | | | ip_address | varchar(45) | YES | | NULL | | | | user_agent | text | YES | | NULL | | | | payload | longtext | NO | | NULL | | | | last_activity | int | NO | MUL | NULL | | | --- ## users | Field | Type | Null | Key | Default | Extra | Foreign Key | |-------|------|------|-----|---------|-------|-------------| | id | bigint unsigned | NO | PRI | NULL | auto_increment | | | role_id | bigint unsigned | NO | MUL | 1 | | → roles.id | | name | varchar(255) | NO | | NULL | | | | username | varchar(255) | NO | UNI | NULL | | | | email | varchar(255) | NO | UNI | NULL | | | | azure_id | varchar(255) | YES | UNI | NULL | | | | photo | varchar(255) | YES | | NULL | | | | job_title | varchar(255) | YES | | NULL | | | | department | varchar(255) | YES | | NULL | | | | company_name | varchar(255) | YES | | NULL | | | | phone | varchar(255) | YES | | NULL | | | | email_verified_at | timestamp | YES | | NULL | | | | password | varchar(255) | YES | | NULL | | | | two_factor_secret | text | YES | | NULL | | | | two_factor_recovery_codes | text | YES | | NULL | | | | two_factor_confirmed_at | timestamp | YES | | NULL | | | | remember_token | varchar(100) | YES | | NULL | | | | created_at | timestamp | YES | | NULL | | | | updated_at | timestamp | YES | | NULL | | | ### Foreign Key Constraints - **users_role_id_foreign**: `role_id` → `roles.id` ---