Перейти к основному содержимому

project_versions

project_versions​

Таблица версий проектов — хранит снимки данных проекта (BotDataWithSheets)

Columns​

NameTypeDefaultNullableChildrenParentsComment
idserial-NO--Уникальный идентификатор версии
project_idinteger-NO-bot_projects.idИдентификатор проекта (ссылка на bot_projects.id)
snapshotjsonb-YES--Снимок данных проекта (BotDataWithSheets)
snapshot_storage_idtext-YES--ID приватной конфигурации S3 для снимка
snapshot_keytext-YES--Неизменяемый ключ сжатого JSON в S3
snapshot_sha256text-YES--SHA-256 исходного JSON
snapshot_bytesbigint-YES--Размер исходного JSON в байтах
snapshot_statetext'postgres'NO--Состояние снимка: postgres, pending или ready
snapshot_retry_attimestamp-YES--Следующая попытка переноса после ошибки S3
snapshot_attemptsinteger0NO--Число неудачных попыток переноса
labeltext-YES--Опциональная метка версии (например имя проекта на момент снимка)
author_idbigint-YES-telegram_users.idИдентификатор автора снимка (ссылка на telegram_users.id)
kindtext'auto'NO--Тип версии: "auto" — авто-снимок при сохранении, "manual" — ручной коммит-чекпоинт
author_kindtext-YES--Тип автора снимка: 'agent' — ИИ-агент (MCP), NULL/'user' — обычный пользователь
created_attimestampnow()YES--Время создания версии

Constraints​

NameTypeDefinition
fk_project_id_bot_projectsFOREIGN KEY(project_id) → bot_projects(id)
fk_author_id_telegram_usersFOREIGN KEY(author_id) → telegram_users(id)

Indexes​

NameColumnsUniqueType
idx_project_versions_projectproject_idNO-
idx_project_versions_orderproject_id, created_at, idNO-

Relations​

ParentChildType
bot_projects.idproject_versions.project_idMany to One
telegram_users.idproject_versions.author_idMany to One