| 123456789101112131415161718192021222324252627282930 |
- -- 066_add_scheduled_test_tables.sql
- -- Scheduled account test plans and results
- CREATE TABLE IF NOT EXISTS scheduled_test_plans (
- id BIGSERIAL PRIMARY KEY,
- account_id BIGINT NOT NULL REFERENCES accounts(id) ON DELETE CASCADE,
- model_id VARCHAR(100) NOT NULL DEFAULT '',
- cron_expression VARCHAR(100) NOT NULL DEFAULT '*/30 * * * *',
- enabled BOOLEAN NOT NULL DEFAULT true,
- max_results INT NOT NULL DEFAULT 50,
- last_run_at TIMESTAMPTZ,
- next_run_at TIMESTAMPTZ,
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
- );
- CREATE INDEX IF NOT EXISTS idx_stp_account_id ON scheduled_test_plans(account_id);
- CREATE INDEX IF NOT EXISTS idx_stp_enabled_next_run ON scheduled_test_plans(enabled, next_run_at) WHERE enabled = true;
- CREATE TABLE IF NOT EXISTS scheduled_test_results (
- id BIGSERIAL PRIMARY KEY,
- plan_id BIGINT NOT NULL REFERENCES scheduled_test_plans(id) ON DELETE CASCADE,
- status VARCHAR(20) NOT NULL DEFAULT 'success',
- response_text TEXT NOT NULL DEFAULT '',
- error_message TEXT NOT NULL DEFAULT '',
- latency_ms BIGINT NOT NULL DEFAULT 0,
- started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- finished_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
- );
- CREATE INDEX IF NOT EXISTS idx_str_plan_created ON scheduled_test_results(plan_id, created_at DESC);
|