mirror of
https://github.com/DeNNiiInc/Web-Page-Performance-Test.git
synced 2026-04-17 20:05:58 +00:00
Phase C.1 - Multi-run backend implementation (database + execution logic)
This commit is contained in:
47
migrations/001_multi_run_support.sql
Normal file
47
migrations/001_multi_run_support.sql
Normal file
@@ -0,0 +1,47 @@
|
||||
-- Multi-Run Statistics Database Migration
|
||||
-- Creates test_suites table and modifies test_results for multi-run support
|
||||
|
||||
-- Create test_suites table to group multiple test runs
|
||||
CREATE TABLE IF NOT EXISTS test_suites (
|
||||
id SERIAL PRIMARY KEY,
|
||||
suite_id TEXT UNIQUE NOT NULL,
|
||||
user_uuid TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
device_type TEXT,
|
||||
run_count INTEGER DEFAULT 1,
|
||||
completed_runs INTEGER DEFAULT 0,
|
||||
status TEXT DEFAULT 'running', -- running, completed, failed
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
completed_at TIMESTAMP,
|
||||
|
||||
-- Statistical results (calculated after all runs complete)
|
||||
median_performance_score NUMERIC,
|
||||
avg_performance_score NUMERIC,
|
||||
stddev_performance_score NUMERIC,
|
||||
median_lcp NUMERIC,
|
||||
avg_lcp NUMERIC,
|
||||
stddev_lcp NUMERIC,
|
||||
median_cls NUMERIC,
|
||||
avg_cls NUMERIC,
|
||||
stddev_cls NUMERIC,
|
||||
median_tbt NUMERIC,
|
||||
avg_tbt NUMERIC,
|
||||
stddev_tbt NUMERIC
|
||||
);
|
||||
|
||||
-- Add columns to test_results for multi-run support
|
||||
ALTER TABLE test_results
|
||||
ADD COLUMN IF NOT EXISTS suite_id TEXT,
|
||||
ADD COLUMN IF NOT EXISTS run_number INTEGER DEFAULT 1,
|
||||
ADD COLUMN IF NOT EXISTS is_median BOOLEAN DEFAULT FALSE;
|
||||
|
||||
-- Create index for faster lookups
|
||||
CREATE INDEX IF NOT EXISTS idx_suite_id ON test_results(suite_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_test_suites_user ON test_suites(user_uuid);
|
||||
CREATE INDEX IF NOT EXISTS idx_test_suites_status ON test_suites(status);
|
||||
|
||||
-- Comment
|
||||
COMMENT ON TABLE test_suites IS 'Groups multiple test runs for statistical analysis';
|
||||
COMMENT ON COLUMN test_results.suite_id IS 'Links individual run to parent test suite';
|
||||
COMMENT ON COLUMN test_results.run_number IS 'Run number within the suite (1-10)';
|
||||
COMMENT ON COLUMN test_results.is_median IS 'TRUE if this run represents the median performance';
|
||||
Reference in New Issue
Block a user