feat(portfolio): add stock consolidation domain and schema

This commit is contained in:
2026-09-13 13:40:08 +09:00
parent dfcafade94
commit dc755889b3
5 changed files with 135 additions and 0 deletions
+18
View File
@@ -418,6 +418,24 @@ class PostgresPortfolioRepository:
ON portfolios (broker, status, updated_at DESC)
"""
)
cur.execute(
"""
CREATE TABLE IF NOT EXISTS portfolio_corporate_actions (
corporate_action_id UUID PRIMARY KEY,
portfolio_id TEXT NOT NULL,
asset_id UUID NOT NULL,
action_type TEXT NOT NULL CHECK (action_type = 'stock_consolidation'),
effective_date DATE NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
actor_user_id TEXT, evidence_ref TEXT NOT NULL,
idempotency_key TEXT NOT NULL, payload_hash TEXT NOT NULL,
quantity_before NUMERIC(20,8) NOT NULL, quantity_after NUMERIC(20,8) NOT NULL,
average_price_before NUMERIC(20,8) NOT NULL, average_price_after NUMERIC(20,8) NOT NULL,
total_cost_basis NUMERIC(20,8) NOT NULL, cash_balance NUMERIC(20,8) NOT NULL,
profit_buffer NUMERIC(20,8) NOT NULL, ledger_entry_id BIGINT,
UNIQUE (portfolio_id, idempotency_key)
)
"""
)
cur.execute(
"""
CREATE TABLE IF NOT EXISTS portfolio_comments (