403 lines
14 KiB
Markdown
403 lines
14 KiB
Markdown
# 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`
|
|
|
|
---
|
|
|