feat(db): flow_link, metric_cash_flow_broker и price_coverage

Три таблицы одной миграцией, а не тремя: автогенерация из трёх параллельных веток
дала бы три ревизии с общим down_revision, то есть ручную разборку ветвления вместо
экономии.

price_coverage засевается прямо в миграции из price_daily: она отвечает на вопрос «с
какой даты мы УЖЕ спрашивали ISS», и без засева первый же прогон moex перекачал бы
историю всех 77 бумаг целиком.

flow_link_kind снимается на откате явно. DROP TABLE оставляет тип в базе, и следующий
upgrade упал бы на CREATE TYPE — то же, что уже сделано для остальных енумов домена.
This commit is contained in:
Dmitry
2026-09-18 15:05:36 +03:00
parent 400d9922bb
commit e974ea9ffa
5 changed files with 214 additions and 0 deletions
@@ -18,12 +18,15 @@ from fintracker.models.ledger import (
Event,
EventKind,
EventStatus,
FlowLink,
FlowLinkKind,
Lot,
LotDisposal,
)
from fintracker.models.metrics import (
AllocationDimension,
MetricAllocation,
MetricCashFlowBroker,
MetricCashFlowMonthly,
MetricDataQuality,
MetricHolding,
@@ -41,6 +44,7 @@ from fintracker.models.pricing import (
CorporateActionStatus,
FxRateDaily,
PositionSnapshot,
PriceCoverage,
PriceDaily,
PriceLast,
PriceManual,
@@ -96,6 +100,8 @@ __all__ = [
"EventKind",
"EventSource",
"EventStatus",
"FlowLink",
"FlowLinkKind",
"FlowType",
"FxRateDaily",
"Instrument",
@@ -105,6 +111,7 @@ __all__ = [
"LotDisposal",
"Merchant",
"MetricAllocation",
"MetricCashFlowBroker",
"MetricCashFlowMonthly",
"MetricDataQuality",
"MetricHolding",
@@ -117,6 +124,7 @@ __all__ = [
"Portfolio",
"PortfolioAccount",
"PositionSnapshot",
"PriceCoverage",
"PriceDaily",
"PriceLast",
"PriceManual",