17 lines
965 B
MySQL
17 lines
965 B
MySQL
|
|
-- Счета: банки и наличка (кошельки) для отображения остатков в календаре
|
||
|
|
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 'Банковские счета и кошельки (наличка) для отображения остатков в календаре оплат';
|