#!/usr/bin/env bash set -euo pipefail DB_FILE="/opt/appfactory/data/appfactory/appfactory.db" python3 - "$DB_FILE" <<'PY' import sqlite3 import sys con = sqlite3.connect(sys.argv[1]) con.execute(""" CREATE TABLE IF NOT EXISTS scheduled_scripts ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, description TEXT, script_name TEXT NOT NULL, schedule_type TEXT NOT NULL, schedule_time TEXT, timeout_seconds INTEGER NOT NULL DEFAULT 300, is_enabled INTEGER NOT NULL DEFAULT 1, is_running INTEGER NOT NULL DEFAULT 0, last_run_at TEXT, last_status TEXT, last_job_id INTEGER, last_error_text TEXT, next_run_at TEXT, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ) """) con.execute(""" CREATE INDEX IF NOT EXISTS idx_scheduled_scripts_next_run ON scheduled_scripts(is_enabled, next_run_at) """) con.execute(""" CREATE UNIQUE INDEX IF NOT EXISTS idx_scheduled_scripts_script_name ON scheduled_scripts(script_name) """) con.commit() con.close() print("Scheduled scripts migration completed.") PY