Files
rltn/DEBUG_SAVE_ISSUE.md

92 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

# Диагностика проблемы с сохранением объектов
## 🚨 Проблема
Объекты исчезают после перезагрузки страницы - не сохраняются в БД.
## 🔍 Пошаговая диагностика:
### **Шаг 1: Проверьте консоль браузера**
1. Откройте DevTools (F12)
2. Перейдите на вкладку Console
3. Добавьте объект в редактор
4. Ищите логи с эмодзи:
- 🔄 Начинаем сохранение объекта в БД...
- 📤 Отправляем данные на сервер
- 📡 Ответ сервера: 200 OK
- ✅ Объект успешно сохранен в БД
### **Шаг 2: Проверьте таблицу БД**
1. Нажмите кнопку "Проверить БД"
2. Должно показать: "Таблица существует: true"
3. Если нет - выполните миграцию:
```bash
node run-minimal-migration.js
```
### **Шаг 3: Проверьте объекты в БД**
1. Нажмите кнопку "Проверить объекты"
2. Должно показать количество объектов в БД
3. Проверьте консоль для списка объектов
### **Шаг 4: Проверьте загрузку объектов**
1. Перезагрузите страницу
2. В консоли ищите логи:
- 🔄 Загружаем объекты для города: [ID]
- 📊 Загружено объектов из БД: [количество]
- ✅ Объект добавлен в сцену: [название]
## 🐛 Возможные проблемы и решения:
### **1. Таблица не существует**
**Симптомы:** Ошибка 500 при сохранении
**Решение:**
```bash
node run-minimal-migration.js
```
### **2. Ошибка аутентификации**
**Симптомы:** Ошибка 401 при сохранении
**Решение:** Проверьте токен в localStorage
### **3. Объект сохраняется, но не загружается**
**Симптомы:** Логи сохранения есть, но загрузки нет
**Решение:** Проверьте cityId при загрузке
### **4. Ошибка модели**
**Симптомы:** Ошибка загрузки GLTF
**Решение:** Проверьте путь к модели в model_url
## 🔧 Дополнительная диагностика:
### **Проверка API напрямую:**
```bash
# Проверка таблицы
curl -X GET http://localhost:3000/api/test-city-objects \
-H "Authorization: Bearer YOUR_TOKEN"
# Проверка объектов города
curl -X GET http://localhost:3000/api/cities/1/objects \
-H "Authorization: Bearer YOUR_TOKEN"
```
### **Проверка логов сервера:**
В консоли сервера должны быть логи:
```
Сохранение объекта: { id: null, city_id: 1, ... }
Объект сохранен: { id: 123, success: true }
```
## 📋 Чек-лист диагностики:
- [ ] Таблица city_objects существует
- [ ] Токен аутентификации валиден
- [ ] cityId установлен при сохранении
- [ ] Объект сохраняется в БД (логи в консоли)
- [ ] Объекты загружаются при перезагрузке
- [ ] Модели загружаются корректно
- [ ] Нет ошибок в консоли браузера
- [ ] Нет ошибок в логах сервера
## 🎯 Ожидаемый результат:
После выполнения всех проверок объекты должны сохраняться и загружаться корректно.