- Migration 010: colunas yield_type e last_yield_date em accounts + source='yield' nas transações
- CDIYieldService: busca taxas BCB (serie 12) e cria transação source=yield com rendimento acumulado
- Weekends/feriados sem taxa usam última taxa disponível (AC4)
- GET /api/accounts dispara cálculo CDI on-demand antes de retornar saldos
- AccountsView: seletor yield_type (none/cdi/variable) + badge CDI/VAR na listagem
- Transações source=yield aparecem no histórico com descrição 'Rendimento CDI — {período}'
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
12 lines
503 B
SQL
12 lines
503 B
SQL
-- Add CDI yield support to accounts
|
|
ALTER TABLE accounts
|
|
ADD COLUMN IF NOT EXISTS yield_type VARCHAR(10) NOT NULL DEFAULT 'none'
|
|
CHECK (yield_type IN ('none', 'cdi', 'variable')),
|
|
ADD COLUMN IF NOT EXISTS last_yield_date DATE;
|
|
|
|
-- Extend transactions.source check to allow 'yield'
|
|
ALTER TABLE transactions DROP CONSTRAINT IF EXISTS transactions_source_check;
|
|
ALTER TABLE transactions
|
|
ADD CONSTRAINT transactions_source_check
|
|
CHECK (source IN ('manual', 'import', 'yield'));
|