docs: is_scan и raw_s3_object_id последними колонками stored_file и recognition_job (v5.25, порядок миграции 0012)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
8abbf50dd3
commit
760c3dc6a8
@ -897,12 +897,12 @@ Table stored_file {
|
|||||||
status file_status [not null]
|
status file_status [not null]
|
||||||
version_no int [not null, default: 1, note: 'ADD ТЗ 8.2: версия при замене']
|
version_no int [not null, default: 1, note: 'ADD ТЗ 8.2: версия при замене']
|
||||||
superseded_by_file_id uuid [ref: > stored_file.id, note: 'ссылка на файл-замену; статус SUPERSEDED. Замена — файл ЦЕЛИКОМ со всеми документами в нём (решение 01.10)']
|
superseded_by_file_id uuid [ref: > stored_file.id, note: 'ссылка на файл-замену; статус SUPERSEDED. Замена — файл ЦЕЛИКОМ со всеми документами в нём (решение 01.10)']
|
||||||
is_scan boolean [note: 'v5.25: только PDF — признак скана по отсутствию текстового слоя при загрузке; true = скан (нет текстового слоя); false = цифровой, в т. ч. скрытый OCR-слой — допущение §14; NULL для не-PDF']
|
|
||||||
current_recognition_job_id uuid [ref: > recognition_job.id, note: 'авторитетный прогон; его результат породил актуальные document']
|
current_recognition_job_id uuid [ref: > recognition_job.id, note: 'авторитетный прогон; его результат породил актуальные document']
|
||||||
uploaded_by uuid [ref: > app_user.id]
|
uploaded_by uuid [ref: > app_user.id]
|
||||||
uploaded_at timestamptz
|
uploaded_at timestamptz
|
||||||
updated_at timestamptz
|
updated_at timestamptz
|
||||||
consolidation_id uuid [ref: > consolidation.id, note: 'v5.18: консолидация (период ГК), в контексте которой загружен файл — основа «рабочего стола консоли» (полный состав — context/05-domain-rules.md §9.5 п. 11), общего для версий периода; NULL — без контекста. Пишется при загрузке; при автозамене файл без контекста наследует значение заменённого']
|
consolidation_id uuid [ref: > consolidation.id, note: 'v5.18: консолидация (период ГК), в контексте которой загружен файл — основа «рабочего стола консоли» (полный состав — context/05-domain-rules.md §9.5 п. 11), общего для версий периода; NULL — без контекста. Пишется при загрузке; при автозамене файл без контекста наследует значение заменённого']
|
||||||
|
is_scan boolean [note: 'v5.25 (добавлена последней колонкой, как её добавляет миграция 0012): только PDF — признак скана по отсутствию текстового слоя при загрузке; true = скан (нет текстового слоя); false = цифровой, в т. ч. скрытый OCR-слой — допущение §14; NULL для не-PDF']
|
||||||
Indexes {
|
Indexes {
|
||||||
(legal_entity_id, status)
|
(legal_entity_id, status)
|
||||||
(legal_entity_id, consolidation_id) [note: 'v5.18: основа рабочего стола консоли для ЮЛ (§9.5 п. 11)']
|
(legal_entity_id, consolidation_id) [note: 'v5.18: основа рабочего стола консоли для ЮЛ (§9.5 п. 11)']
|
||||||
@ -977,7 +977,6 @@ Table recognition_job {
|
|||||||
error_code varchar [note: 'UNSUPPORTED_FORMAT | UNREADABLE | TIMEOUT | SCHEMA_MISMATCH | …']
|
error_code varchar [note: 'UNSUPPORTED_FORMAT | UNREADABLE | TIMEOUT | SCHEMA_MISMATCH | …']
|
||||||
error_message text
|
error_message text
|
||||||
result_s3_object_id uuid [ref: > s3_object.id, note: 'нормализованный JSON в results — единственная ссылка на результат (v5.13)']
|
result_s3_object_id uuid [ref: > s3_object.id, note: 'нормализованный JSON в results — единственная ссылка на результат (v5.13)']
|
||||||
raw_s3_object_id uuid [ref: > s3_object.id, note: 'v5.25: сырой ответ ИС Сканирование, роль raw; заполняется при приёме результата image pipeline (отменяет решение v5.13 «в БД не регистрируется»)']
|
|
||||||
result_schema_version varchar [note: 'версия схемы JSON результата (ARCH-008/009)']
|
result_schema_version varchar [note: 'версия схемы JSON результата (ARCH-008/009)']
|
||||||
group_schema jsonb [note: 'v5.13 (вместо osv_group_schema): схема группировок шапки ОСВ по листам — [{\"locator\":\"sheet:ОСВ 58\",\"groups\":[{\"type\":\"ACCOUNT\"},{\"type\":\"COUNTERPARTY\",\"has_inn\":true},{\"type\":\"CONTRACT\"}]}]; только для tabular']
|
group_schema jsonb [note: 'v5.13 (вместо osv_group_schema): схема группировок шапки ОСВ по листам — [{\"locator\":\"sheet:ОСВ 58\",\"groups\":[{\"type\":\"ACCOUNT\"},{\"type\":\"COUNTERPARTY\",\"has_inn\":true},{\"type\":\"CONTRACT\"}]}]; только для tabular']
|
||||||
metrics jsonb [note: 'duration_ms, pages, rows, warnings (v5.19 / контракт 2.0: предупреждения уровня файла — структуры {code, severity, message, locator?}; error уровня файла блокирует RECOGNIZED документов файла)']
|
metrics jsonb [note: 'duration_ms, pages, rows, warnings (v5.19 / контракт 2.0: предупреждения уровня файла — структуры {code, severity, message, locator?}; error уровня файла блокирует RECOGNIZED документов файла)']
|
||||||
@ -985,6 +984,7 @@ Table recognition_job {
|
|||||||
fields_low_confidence int [note: 'v5.7: значений с confidence < 100 (ТЗ 6.2) — заполняется при маппинге результата']
|
fields_low_confidence int [note: 'v5.7: значений с confidence < 100 (ТЗ 6.2) — заполняется при маппинге результата']
|
||||||
fields_unrecognized int [note: 'v5.7: значений с is_recognized = false']
|
fields_unrecognized int [note: 'v5.7: значений с is_recognized = false']
|
||||||
statements_version varchar [note: 'v5.19: service.statements_version результата — коммит копии общего кода arm_statements; при пересчёте после правки сравнивается с копией ядра (расхождение — document_issue info)']
|
statements_version varchar [note: 'v5.19: service.statements_version результата — коммит копии общего кода arm_statements; при пересчёте после правки сравнивается с копией ядра (расхождение — document_issue info)']
|
||||||
|
raw_s3_object_id uuid [ref: > s3_object.id, note: 'v5.25 (добавлена последней колонкой, как её добавляет миграция 0012): сырой ответ ИС Сканирование, роль raw; заполняется при приёме результата image pipeline (отменяет решение v5.13 «в БД не регистрируется»)']
|
||||||
Indexes { (file_id, attempt) [unique] }
|
Indexes { (file_id, attempt) [unique] }
|
||||||
Note: 'РЕШЕНИЕ v5.4: единственная точка обмена с NATS. Запись = outbox: создаётся в queued в одной транзакции с stored_file, фоновый публикатор переводит в published (при сбое публикации — повтор по queued старше N сек); результат приходит по NATS, дедуп по result_msg_id UNIQUE; redelivery после max_deliver → status=dlq, replay = сброс в queued с attempt+1. Ядро маппит JSON из S3 в document → osv_entry / financial_statement_*'
|
Note: 'РЕШЕНИЕ v5.4: единственная точка обмена с NATS. Запись = outbox: создаётся в queued в одной транзакции с stored_file, фоновый публикатор переводит в published (при сбое публикации — повтор по queued старше N сек); результат приходит по NATS, дедуп по result_msg_id UNIQUE; redelivery после max_deliver → status=dlq, replay = сброс в queued с attempt+1. Ядро маппит JSON из S3 в document → osv_entry / financial_statement_*'
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user