-- Счета: банки и наличка (кошельки) для отображения остатков в календаре CREATE TABLE IF NOT EXISTS finance_accounts ( id BIGSERIAL PRIMARY KEY, type VARCHAR(20) NOT NULL CHECK (type IN ('bank', 'cash')), name TEXT NOT NULL, balance NUMERIC(15, 2) NOT NULL DEFAULT 0, currency VARCHAR(10) NOT NULL DEFAULT 'RUB', sort_order INTEGER DEFAULT 0, is_active BOOLEAN NOT NULL DEFAULT TRUE, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_finance_accounts_type ON finance_accounts(type); CREATE INDEX IF NOT EXISTS idx_finance_accounts_active ON finance_accounts(is_active); COMMENT ON TABLE finance_accounts IS 'Банковские счета и кошельки (наличка) для отображения остатков в календаре оплат';