2.9 KiB
2.9 KiB
Диагностика проблем с базой данных
Проблема: Сохранение в БД не работает
Шаг 1: Проверка таблицы city_objects
- Откройте редактор карт
- Нажмите кнопку "Проверить БД"
- Проверьте результат в консоли браузера
Если таблица не существует:
node run-city-objects-migration.js
Шаг 2: Проверка подключения к БД
Проверьте переменные окружения в .env:
DATABASE_URL=postgresql://username:password@localhost:5432/database_name
Шаг 3: Проверка логов сервера
В консоли сервера должны быть логи:
Сохранение объекта: { id: null, city_id: 1, name: "...", ... }
Объект сохранен: { id: 123, success: true }
Шаг 4: Проверка API эндпоинтов
Тестовые запросы:
# Проверка таблицы
curl -X GET http://localhost:3000/api/test-city-objects \
-H "Authorization: Bearer YOUR_TOKEN"
# Проверка сохранения объекта
curl -X POST http://localhost:3000/api/save-object \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"city_id": 1,
"model_url": "models/copied/test.glb",
"name": "Тестовый объект",
"pos_x": 0,
"pos_y": 0,
"pos_z": 0
}'
Возможные проблемы и решения
1. Таблица city_objects не существует
Решение: Выполните миграцию
node run-city-objects-migration.js
2. Ошибка подключения к БД
Решение: Проверьте DATABASE_URL в .env файле
3. Ошибка прав доступа
Решение: Убедитесь, что пользователь БД имеет права на создание таблиц
4. Ошибка внешних ключей
Решение: Убедитесь, что существуют таблицы:
citiesorganizationsinteriors
5. Ошибка аутентификации
Решение: Проверьте токен в localStorage браузера
Отладка в браузере
- Откройте DevTools (F12)
- Перейдите на вкладку Network
- Попробуйте добавить объект в редактор
- Найдите запрос к
/api/save-object - Проверьте статус ответа и содержимое
Логи сервера
Проверьте консоль сервера на наличие ошибок:
- Ошибки подключения к БД
- Ошибки SQL запросов
- Ошибки валидации данных