Files
FamilyHUB/backend/migrations/000006_create_receipts.up.sql
T
admin 413fb0ddea
Build and Deploy / build-and-deploy (push) Successful in 31m25s
fixed connection string in configs
2026-05-24 16:22:31 +03:00

56 lines
2.0 KiB
SQL

CREATE TABLE transactions
(
id BIGSERIAL PRIMARY KEY,
family_id BIGINT NOT NULL REFERENCES families (id) ON DELETE CASCADE,
description TEXT,
type TEXT NOT NULL,
datetime TIMESTAMP NOT NULL,
category TEXT NOT NULL,
amount NUMERIC(14, 2) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
created_by BIGINT NOT NULL REFERENCES users (id) ON DELETE RESTRICT
);
CREATE INDEX idx_transactions_family_id ON transactions (family_id);
CREATE INDEX idx_transactions_datetime ON transactions (datetime);
CREATE INDEX idx_transactions_created_by ON transactions (created_by);
CREATE INDEX idx_transactions_family_datetime ON transactions (family_id, datetime DESC);
CREATE TABLE receipts
(
id BIGSERIAL PRIMARY KEY,
transaction_id BIGINT UNIQUE REFERENCES transactions (id) ON DELETE SET NULL,
receipt_number TEXT NOT NULL UNIQUE,
ui TEXT NOT NULL,
status INTEGER NOT NULL,
issued_at TIMESTAMP NOT NULL,
total_amount REAL NOT NULL,
payment_amount REAL NOT NULL,
cash_amount REAL NOT NULL,
another_amount REAL NOT NULL,
clearing_amount REAL NOT NULL,
margin REAL NOT NULL,
currency TEXT NOT NULL,
payment_type INTEGER NOT NULL,
cashbox_number INTEGER NOT NULL,
cashier TEXT,
name_spd TEXT,
name_to TEXT,
name_np TEXT,
type_np TEXT,
street_to TEXT,
house_to TEXT,
kod_soato TEXT,
oblast_soato TEXT,
rayon_soato TEXT,
selsovet_soato TEXT,
doc_num TEXT,
skno_number TEXT,
unp TEXT,
success TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_receipts_issued_at ON receipts (issued_at);
CREATE INDEX idx_receipts_transaction_id ON receipts (transaction_id);