67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
from __future__ import annotations
|
|
|
|
ARIADNE_TABLES_SQL = [
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS ariadne_task_runs (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
request_code TEXT,
|
|
task TEXT NOT NULL,
|
|
status TEXT NOT NULL,
|
|
detail TEXT,
|
|
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
finished_at TIMESTAMPTZ,
|
|
duration_ms INTEGER
|
|
)
|
|
""",
|
|
"""
|
|
CREATE INDEX IF NOT EXISTS ariadne_task_runs_request_code_idx
|
|
ON ariadne_task_runs (request_code)
|
|
""",
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS ariadne_schedule_state (
|
|
task_name TEXT PRIMARY KEY,
|
|
cron_expr TEXT NOT NULL,
|
|
last_started_at TIMESTAMPTZ,
|
|
last_finished_at TIMESTAMPTZ,
|
|
last_status TEXT,
|
|
last_error TEXT,
|
|
last_duration_ms INTEGER,
|
|
next_run_at TIMESTAMPTZ,
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
)
|
|
""",
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS ariadne_cluster_state (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
snapshot JSONB NOT NULL
|
|
)
|
|
""",
|
|
"""
|
|
CREATE INDEX IF NOT EXISTS ariadne_cluster_state_created_idx
|
|
ON ariadne_cluster_state (created_at DESC)
|
|
""",
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS ariadne_events (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
event_type TEXT NOT NULL,
|
|
detail TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
)
|
|
""",
|
|
"""
|
|
CREATE INDEX IF NOT EXISTS ariadne_events_type_idx
|
|
ON ariadne_events (event_type, created_at)
|
|
""",
|
|
]
|
|
|
|
ARIADNE_ACCESS_REQUEST_ALTER_SQL = """
|
|
ALTER TABLE access_requests
|
|
ADD COLUMN IF NOT EXISTS welcome_email_sent_at TIMESTAMPTZ,
|
|
ADD COLUMN IF NOT EXISTS approval_flags TEXT[],
|
|
ADD COLUMN IF NOT EXISTS approval_note TEXT,
|
|
ADD COLUMN IF NOT EXISTS denial_note TEXT,
|
|
ADD COLUMN IF NOT EXISTS first_name TEXT,
|
|
ADD COLUMN IF NOT EXISTS last_name TEXT
|
|
"""
|