Database Overview
Назначение
Описание хранилища данных микросервиса Chessboard.Panoramas: контекст БД, таблицы, owned types и перечисления.
ChessboardPanoramasDbContext
Основной DbContext микросервиса. Реализует:
- Работу с PostgreSQL (тенантные ключи, Npgsql).
- Поддержку Outbox и Saga (таблицы для исходящих сообщений и саг).
Таблицы
| DbSet | Описание |
|---|---|
| ChessboardProjectEntity | Проекты шахматной доски (синхронизация из Kafka) |
| ChessboardProjectBuildingEntity | Здания проекта |
| ChessboardProjectPropertyLayoutEntity | Планировки объектов |
| ChessboardProjectPropertyObjectEntity | Объекты недвижимости |
| PanoramaShootingPointEntity | Точки съёмки панорам |
| LayoutPanoramaPointFileEntity | Файлы панорам по планировке (кубмап) |
| PropertyObjectPanoramaPointFileEntity | Файлы панорам по объекту (кубмап) |
| PanoramasQueueEntity | Очередь задач панорамной съёмки |
| PanoramasQueueTaskEntity | Задачи в очереди |
| InteriorPresetEntity | Пресеты отделки по проекту |
| LayoutTopdownPanoramaEntity | Виды сверху над планировкой (видео 360) |
| LayoutTopdownPanoramaFrameEntity | Кадры из видео вида сверху |
| LayoutTopdownPanoramaQueueEntity | Очередь задач на снятие видов сверху по проекту и планировке |
| LayoutTopdownPanoramaQueueTaskEntity | Задачи в очереди видов сверху |
| SagaOutboxEntity, OutboxMessageEntity, IdempotencyKeyEntity | Outbox, Saga, идемпотентность |
Owned Types
- CubemapFilesContainerDbType — контейнер идентификаторов файлов граней кубмапа (PositiveX, NegativeX, PositiveY, NegativeY, PositiveZ, NegativeZ). Используется в LayoutPanoramaPointFileEntity и PropertyObjectPanoramaPointFileEntity как свойство Image.
- LayoutTopdownPanoramaFramePoint — точка на кадре вида сверху: PointId, Position (Npgsql Point). Используется в LayoutTopdownPanoramaFrameEntity в коллекции Points.
Enums
- PanoramaQueueTaskType, PanoramaQueueTaskStatus, PanoramaShootingPointType, LayoutTopdownPanoramaQueueTaskStatus — см. Enums.