Enum counterparty_match_kind (INN, NAME, ALIAS, MANUAL, PROPAGATED) и nullable-колонка osv_entry.counterparty_match_kind (NULL <=> counterparty_id NULL). Миграция 0004_dbml_v5_16: enum, колонка, backfill тремя UPDATE по уже смапленным строкам (ИНН без пробелов -> INN, trim(имя) -> NAME, остальные -> ALIAS), откат удаляет колонку и тип. CounterpartyIndex.resolve возвращает Resolution(entity_id, kind) (определение в domain/osv_mapping, R-4); маппинг пишет kind; EntryOut.match_kind. DBML_VERSION 5.16, Makefile/dbml_parity/CLAUDE/README/config.yaml. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
26 lines
813 B
Python
26 lines
813 B
Python
"""ORM-модели. Источник истины — docs/model/data-model-v5.16.dbml; заполняется в Срезе 0.
|
||
|
||
Импорт всех модулей моделей обязателен: он регистрирует таблицы в `Base.metadata` (create_all, alembic).
|
||
"""
|
||
|
||
from . import access, accounting, audit_ex, consolidation, directories, files, kfo, osv, statements
|
||
from .base import Base, UUIDPrimaryMixin
|
||
|
||
#: Версия DBML, которой соответствуют модели (сверяется с шапкой DBML в check_dbml_vs_orm).
|
||
DBML_VERSION = "5.16"
|
||
|
||
__all__ = [
|
||
"DBML_VERSION",
|
||
"Base",
|
||
"UUIDPrimaryMixin",
|
||
"access",
|
||
"accounting",
|
||
"audit_ex",
|
||
"consolidation",
|
||
"directories",
|
||
"files",
|
||
"kfo",
|
||
"osv",
|
||
"statements",
|
||
]
|