Карта системы тренажера КиберТех

🗺️ Визуальная карта системы тренажера "КиберТех"

Сгенерировано: 15.07.2026 21:11:39

📊 Сводка системы

Всего проблем: 4

Критических: 0

Высокого приоритета: 4

Используемых таблиц: 9 / 16

Статус системы: ТРЕБУЕТСЯ ДОРАБОТКА

🗄️ Детальная информация о таблицах БД

Все таблицы системы с полной структурой и примерами данных

📊 SCENARIOS
📈 3 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Основные сценарии тренажеров
🔧 Структура таблицы:
scenario_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
scenario_name
Тип: varchar(200)
Обязательное: Да
description
Тип: text
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
scenario_id: 1
scenario_name: КиберТех: Битва за рынок умных гаджетов
description: Стратегический тренажер по выводу на рынок умной коло�... [обрезано]
created_at: 2025-10-22 23:14:55
Запись #2:
scenario_id: 2
scenario_name: Проба - номер 2
description: Стратегический тренажер по выводу на рынок умной коло�... [обрезано]
created_at: 2025-10-22 23:14:55
📊 STEPS
📈 10 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Шаги сценариев
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: step_id, scenario_id, step_number, title, situation_text, allow_multiple_choices
game-completed.php SELECT UPDATE
Ключевые поля: step_id, step_number, title
🔴 Критически важные поля:
step_id
PRIMARY KEY - идентификатор шага
scenario_id
Связь со сценарием
step_number
Номер шага в последовательности
title
Название шага
situation_text
Текст ситуации для отображения
allow_multiple_choices
Разрешение множественного выбора
🔧 Структура таблицы:
step_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
scenario_id
Тип: int
Ключ: MUL
Обязательное: Да
step_number
Тип: int
Ключ: MUL
Обязательное: Да
title
Тип: varchar(200)
Обязательное: Да
situation_text
Тип: text
Обязательное: Да
allow_multiple_choices
Тип: tinyint(1)
По умолчанию: 0
max_choices
Тип: int
По умолчанию: 1
initial_metrics
Тип: json
calculation_logic
Тип: json
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
step_id: 1
scenario_id: 1
step_number: 1
title: Базовый выбор
situation_text: Ваша компания, "КиберТех", выводит на рынок умную колон�... [обрезано]
allow_multiple_choices: 0
max_choices: 1
initial_metrics: JSON: { "cash": 50000000, "revenue": 0, "reputation": 50, "tech_level": 50, "fix... [обрезано]
calculation_logic: JSON: { "cash": "previous.cash + previous.revenue - previous.fixed_costs", "reputation": "pr... [обрезано]
created_at: 2025-10-22 23:16:34
Запись #2:
step_id: 2
scenario_id: 1
step_number: 2
title: Последствия первого выбора + внешний шок
situation_text: Ваша стратегия начала приносить плоды. Однако макроэк�... [обрезано]
allow_multiple_choices: 0
max_choices: 1
initial_metrics: JSON: { "cash": 45000000, "reputation": 65, "tech_level": 50, "market_share": 3, ... [обрезано]
calculation_logic: JSON: { "cash": "previous.cash + previous.revenue - previous.fixed_costs - event_costs", "ma... [обрезано]
created_at: 2025-10-22 23:16:34
📊 CHOICES
📈 38 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Варианты выбора для шагов
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: choice_id, step_id, choice_key, title, description, risks, immediate_effects
game-completed.php SELECT UPDATE
Ключевые поля: choice_id, title, description, choice_key, immediate_effects
🔴 Критически важные поля:
choice_id
PRIMARY KEY - идентификатор выбора
step_id
Связь с шагом
choice_key
Ключ выбора (A, B, C)
title
Заголовок варианта
description
Описание варианта для игрока
risks
Описание рисков
immediate_effects
JSON с немедленными эффектами на метрики
🔧 Структура таблицы:
choice_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
step_id
Тип: int
Ключ: MUL
Обязательное: Да
choice_key
Тип: varchar(10)
Ключ: MUL
Обязательное: Да
choice_group
Тип: varchar(50)
title
Тип: varchar(200)
Обязательное: Да
description
Тип: text
Обязательное: Да
risks
Тип: text
is_default
Тип: tinyint(1)
По умолчанию: 0
immediate_effects
Тип: json
delayed_effects
Тип: json
unlock_conditions
Тип: json
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
choice_id: 1
step_id: 1
choice_key: A
choice_group:
title: Премиум-стратегия
description: Сфокусироваться на качестве и уникальном дизайне. Выс�... [обрезано]
risks: Медленный рост доли рынка; высокая цена может отпугнут... [обрезано]
is_default: 0
immediate_effects: JSON: { "reputation": 15, "base_sales_volume": 10000, "margin_multiplier": 2.5 }
delayed_effects: JSON: { "brand_value": 25, "market_growth_rate": 0.01000000000000000020816681711721685132943... [обрезано]
unlock_conditions:
created_at: 2025-10-22 23:19:41
Запись #2:
choice_id: 2
step_id: 1
choice_key: B
choice_group:
title: Массовая стратегия
description: Низкая цена, агрессивный маркетинг. Быстрый захват дол... [обрезано]
risks: Низкая маржа; риск восприятия как "бюджетного" бренда.
is_default: 0
immediate_effects: JSON: { "reputation": -10, "base_sales_volume": 40000, "margin_multiplier": 1.1999999999... [обрезано]
delayed_effects: JSON: { "price_sensitivity": 15, "market_growth_rate": 0.05000000000000000277555756156289135... [обрезано]
unlock_conditions:
created_at: 2025-10-22 23:19:41
📊 SESSIONS
📈 28 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Игровые сессии пользователей
📁 Используется в файлах:
cybertech-auth.php SELECT INSERT UPDATE
Ключевые поля: session_id, user_id, player_name, status, current_step
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: session_id, current_step
game-completed.php SELECT UPDATE
Ключевые поля: session_id, status
🔴 Критически важные поля:
session_id
PRIMARY KEY - идентификатор сессии
user_id
Связь с пользователем WordPress
player_name
Имя игрока для авторизации
status
Статус сессии (active/completed)
current_step
Текущий шаг игры
current_metrics
Текущее состояние метрик (в расширенной версии)
🔧 Структура таблицы:
session_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
user_id
Тип: bigint
Ключ: MUL
Обязательное: Да
scenario_id
Тип: int
Ключ: MUL
Обязательное: Да
session_name
Тип: varchar(100)
Обязательное: Да
player_name
Тип: varchar(100)
Обязательное: Да
company_name
Тип: varchar(100)
Обязательное: Да
current_step
Тип: int
По умолчанию: 1
current_metrics
Тип: json
active_effects
Тип: json
session_flags
Тип: json
status
Тип: enum('active','completed','abandoned')
Ключ: MUL
По умолчанию: active
created_at
Тип: datetime
Ключ: MUL
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
updated_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED on update CURRENT_TIMESTAMP
completed_at
Тип: datetime
📊 Пример данных (первые 2 записей):
Запись #1:
session_id: 3
user_id: 1
scenario_id: 1
session_name: Сессия z - 23.10.2025 07:54
player_name: z
company_name: КиберТех
current_step: 1
current_metrics:
active_effects:
session_flags:
status: active
created_at: 2025-10-23 10:54:26
updated_at: 2025-10-23 10:54:26
completed_at:
Запись #2:
session_id: 4
user_id: 1
scenario_id: 1
session_name: Сессия я - 23.10.2025 08:07
player_name: я
company_name: КиберТех
current_step: 6
current_metrics:
active_effects:
session_flags:
status: completed
created_at: 2025-10-23 11:07:13
updated_at: 2025-10-23 15:48:49
completed_at: 2025-10-23 15:48:49
📊 PROGRESS
📈 85 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Прогресс по шагам
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: session_id, step_id, choice_id
game-completed.php SELECT UPDATE
Ключевые поля: session_id, step_id, choice_id
🔴 Критически важные поля:
session_id
Связь с сессией
step_id
Связь с шагом
choice_id
Связь с выбранным вариантом
🔧 Структура таблицы:
progress_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
session_id
Тип: int
Ключ: MUL
Обязательное: Да
step_id
Тип: int
Ключ: MUL
Обязательное: Да
choice_id
Тип: int
Ключ: MUL
Обязательное: Да
step_started_at
Тип: datetime
Обязательное: Да
step_completed_at
Тип: datetime
Ключ: MUL
Обязательное: Да
decision_time_seconds
Тип: int
По умолчанию: 0
📊 Пример данных (первые 2 записей):
Запись #1:
progress_id: 1
session_id: 4
step_id: 1
choice_id: 3
step_started_at: 2025-10-23 13:53:32
step_completed_at: 2025-10-23 13:53:32
decision_time_seconds: 0
Запись #2:
progress_id: 2
session_id: 4
step_id: 2
choice_id: 5
step_started_at: 2025-10-23 13:54:09
step_completed_at: 2025-10-23 13:54:09
decision_time_seconds: 0
📊 METRICS
📈 75 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: История метрик игроков
📁 Используется в файлах:
cybertech-auth.php SELECT INSERT UPDATE
Ключевые поля: session_id, metrics_data, step_number
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: session_id, step_number, metrics_data
game-completed.php SELECT UPDATE
Ключевые поля: session_id, step_number, metrics_data
🔴 Критически важные поля:
session_id
Связь с сессией
step_number
Номер шага
metrics_data
JSON с данными метрик (деньги, репутация, доля рынка, технологии)
🔧 Структура таблицы:
metric_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
session_id
Тип: int
Ключ: MUL
Обязательное: Да
step_number
Тип: int
Обязательное: Да
metrics_data
Тип: json
Обязательное: Да
comment
Тип: text
is_initial_state
Тип: tinyint(1)
По умолчанию: 1
recorded_at
Тип: datetime
Ключ: MUL
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
metric_id: 1
session_id: 4
step_number: 1
metrics_data: JSON: { "cash": 50000000, "revenue": 0, "reputation": 50, "tech_level": 50, "fix... [обрезано]
comment:
is_initial_state: 1
recorded_at: 2025-10-23 11:07:13
Запись #2:
metric_id: 2
session_id: 4
step_number: 1
metrics_data: JSON: { "cash": 50000000, "revenue": 0, "reputation": 50, "tech_level": 50, "fix... [обрезано]
comment:
is_initial_state: 0
recorded_at: 2025-10-23 13:53:32
📊 EFFECTS
📈 252 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Накопленные эффекты решений
🔧 Структура таблицы:
effect_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
session_id
Тип: int
Ключ: MUL
Обязательное: Да
effect_name
Тип: varchar(100)
Ключ: MUL
Обязательное: Да
effect_value
Тип: json
effect_type
Тип: enum('permanent','temporary','step_modifier')
duration_steps
Тип: int
По умолчанию: 0
source_step
Тип: int
Обязательное: Да
source_choice_id
Тип: int
expires_at
Тип: datetime
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
effect_id: 1
session_id: 13
effect_name: reputation
effect_value: 0
effect_type: permanent
duration_steps: 0
source_step: 1
source_choice_id: 3
expires_at:
created_at: 2025-10-26 22:17:39
Запись #2:
effect_id: 2
session_id: 13
effect_name: base_sales_volume
effect_value: 25000
effect_type: permanent
duration_steps: 0
source_step: 1
source_choice_id: 3
expires_at:
created_at: 2025-10-26 22:17:39
📊 BRANCHING_RULES
📈 4 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Правила ветвления между шагами
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: source_choice_id, effect_type, effect_details
🔧 Структура таблицы:
rule_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
source_choice_id
Тип: int
Ключ: MUL
target_step_id
Тип: int
Ключ: MUL
target_choice_id
Тип: int
Ключ: MUL
condition_type
Тип: enum('always','has_effect','has_flag','metrics_check')
condition_value
Тип: json
effect_type
Тип: enum('modifier','unlock','block','set_flag','custom_formula')
effect_details
Тип: json
priority
Тип: int
По умолчанию: 0
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
rule_id: 1
source_choice_id: 1
target_step_id: 2
target_choice_id:
condition_type: always
condition_value:
effect_type: modifier
effect_details: JSON: { "price_increase_penalty": -5 }
priority: 0
created_at: 2025-10-22 23:22:03
Запись #2:
rule_id: 2
source_choice_id: 2
target_step_id: 2
target_choice_id:
condition_type: always
condition_value:
effect_type: modifier
effect_details: JSON: { "price_increase_penalty": 10 }
priority: 0
created_at: 2025-10-22 23:22:03
📊 EVENTS
📈 2 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Внешние события и шоки
🔧 Структура таблицы:
event_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
step_id
Тип: int
Ключ: MUL
event_type
Тип: varchar(50)
trigger_condition
Тип: json
effects
Тип: json
description
Тип: text
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
event_id: 1
step_id: 2
event_type: shock
trigger_condition: JSON: { "always": true }
effects: JSON: { "cost_increase": 0.200000000000000011102230246251565404236316680908203125, "market_v... [обрезано]
description: Макроэкономический кризис: курс валюты упал, затраты н... [обрезано]
created_at: 2025-10-22 23:22:43
Запись #2:
event_id: 2
step_id: 4
event_type: risk_event
trigger_condition: JSON: { "if_no_action": true }
effects: JSON: { "cash_impact": -15000000, "reputation_impact": -20 }
description: Материализация рисков: срыв поставок или утечка данны�... [обрезано]
created_at: 2025-10-22 23:22:43
📊 FLAGS
📈 0 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Флаги и состояния сессий
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: session_id, flag_name, flag_value
🔴 Критически важные поля:
session_id
Связь с сессией
flag_name
Название флага
flag_value
Значение флага в JSON
🔧 Структура таблицы:
flag_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
session_id
Тип: int
Ключ: MUL
flag_name
Тип: varchar(100)
Ключ: MUL
flag_value
Тип: json
source_step
Тип: int
expires_at
Тип: datetime
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных:

Таблица пуста или не содержит данных

📊 CHOICE_COMBINATIONS
📈 7 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Комбинации выборов для мультивыбора
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: step_id, choice_keys, effects
🔧 Структура таблицы:
combo_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
step_id
Тип: int
Ключ: MUL
choice_keys
Тип: json
effects
Тип: json
special_comment
Тип: text
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
combo_id: 1
step_id: 4
choice_keys: ["A", "B"]
effects: JSON: { "cash": -12000000, "reputation": 5, "risk_coverage": 90 }
special_comment: Вы проявили дальновидность. Потратив значительные сре... [обрезано]
created_at: 2025-10-22 23:23:31
Запись #2:
combo_id: 2
step_id: 4
choice_keys: ["A", "C"]
effects: JSON: { "cash": -17000000, "financial_stability": 25 }
special_comment: Комбинированный подход: защита поставок и создание фи�... [обрезано]
created_at: 2025-10-22 23:23:31
📊 CONTEXT_COMMENTS
📈 20 записей ✅ ИСПОЛЬЗУЕТСЯ
Описание: Контекстные комментарии
📁 Используется в файлах:
cybertech-game-step.php SELECT INSERT UPDATE
Ключевые поля: step_id, trigger_conditions, comment_text
🔧 Структура таблицы:
comment_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
step_id
Тип: int
Ключ: MUL
trigger_conditions
Тип: json
comment_text
Тип: text
comment_type
Тип: varchar(50)
priority
Тип: int
По умолчанию: 0
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
comment_id: 1
step_id: 2
trigger_conditions: JSON: { "previous_choice": "A" }
comment_text: Повышение цен для премиум-бренда — это тонкая игра. Ва�... [обрезано]
comment_type: warning
priority: 10
created_at: 2025-10-22 23:24:02
Запись #2:
comment_id: 2
step_id: 2
trigger_conditions: JSON: { "previous_choice": "B" }
comment_text: Решение сохранить низкие цены, имея изначально низкую ... [обрезано]
comment_type: danger
priority: 10
created_at: 2025-10-22 23:24:02
📊 CALCULATION_FORMULAS
📈 3 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Формулы расчета метрик
🔧 Структура таблицы:
formula_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
step_id
Тип: int
Ключ: MUL
metric_name
Тип: varchar(50)
calculation_formula
Тип: text
description
Тип: text
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
formula_id: 1
step_id: 2
metric_name: cash
calculation_formula: previous.cash + (previous.base_sales_volume * price * margin_multiplier * random(0.8, 1.2)) - previo... [обрезано]
description: Расчет денежных средств с учетом выручки и издержек
created_at: 2025-10-22 23:24:25
Запись #2:
formula_id: 2
step_id: 2
metric_name: market_share
calculation_formula: previous.market_share + (sales_volume / total_market_size * 100)
description: Расчет доли рынка
created_at: 2025-10-22 23:24:25
📊 GLOBAL_PARAMETERS
📈 11 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Глобальные параметры сценариев
🔧 Структура таблицы:
param_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
scenario_id
Тип: int
Ключ: MUL
param_name
Тип: varchar(100)
param_value
Тип: json
description
Тип: text
created_at
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных (первые 2 записей):
Запись #1:
param_id: 1
scenario_id: 1
param_name: total_market_size
param_value: 500000
description: Общий объем рынка умных колонок в штуках
created_at: 2025-10-22 23:24:57
Запись #2:
param_id: 2
scenario_id: 1
param_name: base_product_price
param_value: 300
description: Базовая цена продукта в у.е.
created_at: 2025-10-22 23:24:57
📊 RESULTS
📈 0 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Финальные результаты игр
🔧 Структура таблицы:
result_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
session_id
Тип: int
Ключ: UNI
Обязательное: Да
player_name
Тип: varchar(100)
Обязательное: Да
company_name
Тип: varchar(100)
Обязательное: Да
total_score
Тип: decimal(10,2)
Ключ: MUL
Обязательное: Да
final_metrics
Тип: json
Обязательное: Да
strategy_type
Тип: varchar(50)
key_decisions
Тип: json
recommendations
Тип: text
completed_at
Тип: datetime
Ключ: MUL
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных:

Таблица пуста или не содержит данных

📊 ANALYTICS
📈 0 записей ⚠️ НЕ ИСПОЛЬЗУЕТСЯ
Описание: Аналитика использования
🔧 Структура таблицы:
analytics_id
Тип: int
Ключ: PRI
Обязательное: Да
Дополнительно: auto_increment
scenario_id
Тип: int
Ключ: MUL
Обязательное: Да
step_id
Тип: int
Ключ: MUL
Обязательное: Да
choice_id
Тип: int
Ключ: MUL
Обязательное: Да
players_count
Тип: int
По умолчанию: 0
average_score
Тип: decimal(10,2)
По умолчанию: 0.00
last_updated
Тип: datetime
По умолчанию: CURRENT_TIMESTAMP
Дополнительно: DEFAULT_GENERATED
📊 Пример данных:

Таблица пуста или не содержит данных

💻 Файлы PHP кода

Анализ использования таблиц БД в каждом файле

cybertech-auth.php
Авторизация игроков
✅ СУЩЕСТВУЕТ
Размер
8.94 KB
Строк кода
325
SQL запросов
9
Смешанных линий
5
🗃️ Таблицы БД, используемые в этом файле:
sessions
SELECT INSERT UPDATE
Поля: session_id, user_id, player_name, status, current_step
metrics
SELECT INSERT UPDATE
Поля: session_id, metrics_data, step_number
cybertech-game-step.php
Логика игровых шагов
✅ СУЩЕСТВУЕТ
Размер
27.4 KB
Строк кода
546
SQL запросов
51
Смешанных линий
54
⚠️ Внимание: Высокая сложность кода (смешана логика и представление)
🗃️ Таблицы БД, используемые в этом файле:
sessions
SELECT INSERT UPDATE
Поля: session_id, current_step
steps
SELECT INSERT UPDATE
Поля: step_id, scenario_id, step_number, title, situation_text, allow_multiple_choices
choices
SELECT INSERT UPDATE
Поля: choice_id, step_id, choice_key, title, description, risks, immediate_effects
progress
SELECT INSERT UPDATE
Поля: session_id, step_id, choice_id
metrics
SELECT INSERT UPDATE
Поля: session_id, step_number, metrics_data
flags
SELECT INSERT UPDATE
Поля: session_id, flag_name, flag_value
context_comments
SELECT INSERT UPDATE
Поля: step_id, trigger_conditions, comment_text
choice_combinations
SELECT INSERT UPDATE
Поля: step_id, choice_keys, effects
branching_rules
SELECT INSERT UPDATE
Поля: source_choice_id, effect_type, effect_details
game-completed.php
Финальные результаты
✅ СУЩЕСТВУЕТ
Размер
16.25 KB
Строк кода
323
SQL запросов
16
Смешанных линий
20
🗃️ Таблицы БД, используемые в этом файле:
sessions
SELECT UPDATE
Поля: session_id, status
progress
SELECT UPDATE
Поля: session_id, step_id, choice_id
steps
SELECT UPDATE
Поля: step_id, step_number, title
choices
SELECT UPDATE
Поля: choice_id, title, description, choice_key, immediate_effects
metrics
SELECT UPDATE
Поля: session_id, step_number, metrics_data

🚨 Выявленные проблемы

HIGH

Файл содержит смешанную логику и представление

Компонент: architecture

Влияние: Сложность поддержки и расширения

HIGH

Таблица effects не используется в коде

Компонент: integration

Влияние: Потеря функциональности, заложенной в БД

HIGH

Таблица events не используется в коде

Компонент: integration

Влияние: Потеря функциональности, заложенной в БД

HIGH

Таблица calculation_formulas не используется в коде

Компонент: integration

Влияние: Потеря функциональности, заложенной в БД

📈 Статистика системы

Таблицы БД

16 / 16

существует / всего

Файлы кода

3 / 3

существует / всего

Используемые таблицы

9

активно используются

Всего SQL операций

76

операций с БД