|
|
| |
| CREATE TABLE IF NOT EXISTS scripts ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| name TEXT NOT NULL CHECK(length(name) <= 255), |
| script_type TEXT NOT NULL CHECK(length(script_type) <= 255), |
| content TEXT NOT NULL, |
| description TEXT CHECK(length(description) <= 255), |
| created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| group_id INTEGER NOT NULL DEFAULT 0 |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS script_groups ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| name TEXT NOT NULL CHECK(length(name) <= 255), |
| description TEXT CHECK(length(description) <= 255), |
| created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS executor_tasks ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| server_ids TEXT NOT NULL, |
| script_id INTEGER NOT NULL, |
| script_content TEXT NOT NULL, |
| script_type TEXT NOT NULL CHECK(length(script_type) <= 255), |
| created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS executor_logs ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| executor_task_id INTEGER NOT NULL, |
| server_id INTEGER NOT NULL, |
| ssh_host TEXT NOT NULL, |
| status INTEGER NOT NULL DEFAULT 0 CHECK(status IN (0,1,2,3)), |
| log_name TEXT CHECK(length(log_name) <= 255), |
| created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP |
| ); |
|
|
|
|
| |
| |
| CREATE INDEX IF NOT EXISTS idx_scripts_name ON scripts(name); |
| CREATE INDEX IF NOT EXISTS idx_scripts_script_type ON scripts(script_type); |
| CREATE INDEX IF NOT EXISTS idx_scripts_group_id ON scripts(group_id); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_script_groups_name ON script_groups(name); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_executor_tasks_script_id ON executor_tasks(script_id); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_executor_logs_task_server ON executor_logs(executor_task_id, server_id); |
| CREATE INDEX IF NOT EXISTS idx_executor_logs_status ON executor_logs(status); |