/
berkas
/
Spend-tracker
Обзор
Документация
Войти
/
berkas
/
Spend-tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
init.sql
62 строки
2 KB
akasianov
Added table inflation_rate and InflationRateRepository
15 янв 2026, 09:09
15 янв 2026, 09:09
3537758
Код
Авторство
О чём код?
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE users ( id VARCHAR(36) PRIMARY KEY, phone VARCHAR(32) NOT NULL UNIQUE, password_hash TEXT NOT NULL ); CREATE TABLE category_images ( id VARCHAR(36) PRIMARY KEY, data BYTEA NOT NULL ); CREATE TABLE categories ( id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36) NOT NULL, name VARCHAR(128) NOT NULL, image_id VARCHAR(36), CONSTRAINT fk_category_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, CONSTRAINT fk_category_image FOREIGN KEY (image_id) REFERENCES category_images(id) ON DELETE SET NULL ); CREATE INDEX idx_categories_user_id ON categories(user_id); CREATE TABLE transactions ( id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36) NOT NULL, category_id VARCHAR(36) NOT NULL, amount NUMERIC(14, 2) NOT NULL CHECK (amount >= 0), type VARCHAR(32) NOT NULL, date TIMESTAMP NOT NULL, CONSTRAINT fk_transaction_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, CONSTRAINT fk_transaction_category FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE CASCADE ); CREATE INDEX idx_transactions_user_id ON transactions(user_id); CREATE INDEX idx_transactions_category_id ON transactions(category_id); CREATE INDEX idx_transactions_date ON transactions(date); CREATE TABLE inflation_rate ( id SERIAL PRIMARY KEY, year INTEGER NOT NULL, month INTEGER NOT NULL CHECK (month BETWEEN 1 AND 12), rate NUMERIC(5,2) NOT NULL, CONSTRAINT inflation_rate_year_month_uk UNIQUE (year, month) );