Files
appfactory-tools/scripts/migrate-scheduled-scripts-db.sh

52 lines
1.1 KiB
Bash
Executable File

#!/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