Files
go-no-go/database/schema.md

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`
---