3.0 KiB
Модель данных v5.27 — КФО без сохранения промежуточного расчёта
Миграция arm-core: 0014_dbml_v5_27, после 0013_dbml_v5_26.
База: v5.26. Схема: data-model-v5.27.dbml.
Поле kfo_result.snapshot не вводится. Незамороженная таблица рассчитывается при каждом GET без записи в БД.
До заморозки в kfo_result сохраняется обоснование порогов, в consolidation_version — отклонения
от методологии, в kfo_result_line — только строки с непустыми комментариями. Расчётные ячейки компаний
не создаются. Обязательное consolidated_amount строки комментария равно 0 и не используется при чтении;
computed_at шапки при её создании заполняется временем расчёта ответа PUT, а не временем заморозки.
При переходе в VERIFIED таблица рассчитывается по текущим источникам, ручные поля накладываются на неё,
полный результат сохраняется и получает is_frozen = true в одной транзакции с переходом статуса.
После заморозки GET читает сохранённый результат. Повторная заморозка не пересчитывает результат.
Миграция удаляет прежний расчётный кэш незамороженных таблиц, сохраняя комментарии, обоснования и отклонения от методологии. Замороженные суммы не изменяются. Удалённый промежуточный расчёт при downgrade не восстанавливается.
vgo_assignment.side добавляется по DOC-277424 §3.4: NULL для ББ, D/K для ОФР.
Уникальность ББ — версия/тип/строка, ОФР — версия/тип/строка/сторона. Старые назначения
ASSIGN переносятся по счетам правил, неоднозначные решения блокируют миграцию;
UNASSIGNED переносится на D и K. Откат запрещён при конфликте старого уникального ключа.
correction.ordinal не вводится; дополнительные строки упорядочиваются по ID. Поле API data_changed сохраняется
для совместимости и всегда равно false: отдельного состояния неактуального сохранённого расчёта больше нет.