v1.1.46: phase2 — scenario runner MVP (YAML config, DB schema, API endpoints, UI section)
This commit is contained in:
@@ -56,6 +56,30 @@ MIGRATION_SQL = """
|
||||
ALTER TABLE runs ADD COLUMN IF NOT EXISTS op_uid VARCHAR(64);
|
||||
ALTER TABLE runs ADD COLUMN IF NOT EXISTS user_email VARCHAR(128);
|
||||
ALTER TABLE runs ADD COLUMN IF NOT EXISTS app_version VARCHAR(16);
|
||||
ALTER TABLE runs ADD COLUMN IF NOT EXISTS scenario_run_id INTEGER;
|
||||
ALTER TABLE runs ADD COLUMN IF NOT EXISTS step_number INTEGER;
|
||||
"""
|
||||
|
||||
# Таблица сценариев — один запуск = одна строка
|
||||
SCENARIO_RUNS_SQL = """
|
||||
CREATE TABLE IF NOT EXISTS scenario_runs (
|
||||
id SERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
client_id VARCHAR(64) NOT NULL,
|
||||
stand VARCHAR(16) NOT NULL,
|
||||
user_email VARCHAR(128),
|
||||
scenario_name VARCHAR(200) NOT NULL,
|
||||
status VARCHAR(16) NOT NULL DEFAULT 'RUNNING',
|
||||
current_step INTEGER NOT NULL DEFAULT 0,
|
||||
total_steps INTEGER NOT NULL,
|
||||
instance_bindings JSONB DEFAULT '{}',
|
||||
duration_sec DOUBLE PRECISION,
|
||||
error_log TEXT,
|
||||
app_version VARCHAR(16)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_scenario_runs_client_stand
|
||||
ON scenario_runs (client_id, stand, created_at DESC);
|
||||
"""
|
||||
|
||||
|
||||
@@ -74,6 +98,7 @@ def init_db():
|
||||
cur = conn.cursor()
|
||||
cur.execute(SCHEMA_SQL)
|
||||
cur.execute(MIGRATION_SQL)
|
||||
cur.execute(SCENARIO_RUNS_SQL)
|
||||
conn.commit()
|
||||
cur.close()
|
||||
print("[DB] Schema initialized", flush=True)
|
||||
|
||||
Reference in New Issue
Block a user