Initial commit MKD fixes
This commit is contained in:
25
backend/migrate_nps_building_stats.sql
Executable file
25
backend/migrate_nps_building_stats.sql
Executable file
@@ -0,0 +1,25 @@
|
||||
-- ========= АГРЕГИРОВАННЫЕ ПОКАЗАТЕЛИ NPS ПО ДОМУ И ПЕРИОДУ =========
|
||||
-- Сохранение цифр NPS (score, кол-во ответов, промоутеры и т.д.) для отчетов
|
||||
|
||||
CREATE TABLE IF NOT EXISTS nps_building_stats (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
building_id VARCHAR(50) NOT NULL REFERENCES buildings(id) ON DELETE CASCADE,
|
||||
period_start DATE NOT NULL,
|
||||
period_end DATE NOT NULL,
|
||||
total_responses INTEGER NOT NULL DEFAULT 0,
|
||||
nps_score INTEGER NOT NULL DEFAULT 0, -- NPS = % промоутеров - % критиков
|
||||
avg_score NUMERIC(4,2) NOT NULL DEFAULT 0, -- средняя оценка 0-10
|
||||
promoters INTEGER NOT NULL DEFAULT 0, -- оценка 9-10
|
||||
passives INTEGER NOT NULL DEFAULT 0, -- оценка 7-8
|
||||
detractors INTEGER NOT NULL DEFAULT 0, -- оценка 0-6
|
||||
promoter_percent NUMERIC(5,2) DEFAULT 0,
|
||||
detractor_percent NUMERIC(5,2) DEFAULT 0,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
UNIQUE(building_id, period_start, period_end)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_nps_building_stats_building ON nps_building_stats(building_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_nps_building_stats_period ON nps_building_stats(period_start, period_end);
|
||||
|
||||
COMMENT ON TABLE nps_building_stats IS 'Агрегированные показатели NPS по дому за период (для отчетов жителям)';
|
||||
Reference in New Issue
Block a user