nordabiz/database/migrations/055_unified_reports.sql
Maciej Pienczyn 387bd2f616
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
chore(db): Add migration files 051-055 for enhanced audits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 11:58:24 +01:00

40 lines
1.3 KiB
SQL

-- Migration 055: Unified Audit Reports
-- Combines Social Media, GBP, and SEO audits into single reports
-- Date: 2026-02-06
CREATE TABLE IF NOT EXISTS audit_reports (
id SERIAL PRIMARY KEY,
company_id INTEGER REFERENCES companies(id) ON DELETE CASCADE,
report_type VARCHAR(20) DEFAULT 'full', -- full, social, gbp, seo
period_start DATE,
period_end DATE,
-- Overall scores
overall_score INTEGER, -- 0-100 composite
social_score INTEGER, -- 0-100
gbp_score INTEGER, -- 0-100
seo_score INTEGER, -- 0-100
-- Report sections
sections JSONB, -- {"social": true, "gbp": true, "seo": true, "competitors": true}
-- Pre-rendered report data
data JSONB, -- Full report payload
-- Metadata
custom_message TEXT,
generated_by VARCHAR(50) DEFAULT 'system', -- system, admin, api
generated_at TIMESTAMP DEFAULT NOW(),
status VARCHAR(20) DEFAULT 'draft', -- draft, published
created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_audit_reports_company ON audit_reports(company_id);
CREATE INDEX IF NOT EXISTS idx_audit_reports_status ON audit_reports(status);
CREATE INDEX IF NOT EXISTS idx_audit_reports_date ON audit_reports(generated_at);
-- Permissions
GRANT ALL ON TABLE audit_reports TO nordabiz_app;
GRANT USAGE, SELECT ON SEQUENCE audit_reports_id_seq TO nordabiz_app;