change services in db
This commit is contained in:
@@ -143,40 +143,30 @@ CREATE TABLE cameras (
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 15. Агрегаторы платежных сервисов (ЖКХ, Интернет и т.д.)
|
||||
-- 15. Платежки по квартире (ЖКХ, Интернет и т.д.)
|
||||
CREATE TABLE payment_services (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
apartment_id UUID NOT NULL REFERENCES apartments(id),
|
||||
name TEXT NOT NULL, -- Например, "ЖКХ", "Интернет"
|
||||
icon TEXT, -- Можно хранить название иконки или url
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 16. Детализация услуг внутри агрегатора (отопление, вода и т.д.)
|
||||
CREATE TABLE payment_service_details (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
service_id UUID NOT NULL REFERENCES payment_services(id),
|
||||
name TEXT NOT NULL, -- Например, "Отопление"
|
||||
description TEXT, -- Описание услуги
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 17. Платежи пользователя по деталям услуг
|
||||
CREATE TABLE payments (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID NOT NULL REFERENCES auth.users(id),
|
||||
apartment_id UUID REFERENCES apartments(id),
|
||||
detail_id UUID NOT NULL REFERENCES payment_service_details(id),
|
||||
amount DECIMAL(10, 2) NOT NULL,
|
||||
period DATE NOT NULL,
|
||||
status TEXT NOT NULL CHECK (status IN ('paid', 'pending', 'overdue')),
|
||||
amount DECIMAL(10, 2) NOT NULL, -- Общая сумма по платежке
|
||||
is_paid BOOLEAN DEFAULT FALSE, -- Оплачен ли весь агрегатор
|
||||
payment_method TEXT CHECK (payment_method IN ('card', 'sber')),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 18. Заявки
|
||||
-- 16. Детализация по платежке (например, отопление, вода и т.д.)
|
||||
CREATE TABLE payment_service_details (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
payment_service_id UUID NOT NULL REFERENCES payment_services(id) ON DELETE CASCADE,
|
||||
name TEXT NOT NULL, -- Например, "Отопление"
|
||||
amount DECIMAL(10, 2) NOT NULL, -- Сумма по детализации
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 17. Заявки
|
||||
CREATE TABLE tickets (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID NOT NULL REFERENCES auth.users(id),
|
||||
@@ -201,8 +191,6 @@ CREATE INDEX idx_tickets_user ON tickets(user_id);
|
||||
CREATE INDEX idx_apartments_building ON apartments(building_id);
|
||||
CREATE INDEX idx_apartment_residents_apartment ON apartment_residents(apartment_id);
|
||||
CREATE INDEX idx_apartment_residents_user ON apartment_residents(user_id);
|
||||
CREATE INDEX idx_payments_apartment ON utility_payments(apartment_id);
|
||||
CREATE INDEX idx_payments_service ON utility_payments(service_id);
|
||||
|
||||
-- Триггеры для обновления updated_at
|
||||
CREATE OR REPLACE FUNCTION update_updated_at()
|
||||
|
||||
Reference in New Issue
Block a user