| |
| 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, |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS flows |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| server_ids TEXT NOT NULL, |
| step_count INTEGER NOT NULL, |
| strategy TEXT NOT NULL, |
| status TEXT NOT NULL, |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS command_tasks |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| flow_id INTEGER NOT NULL, |
| name TEXT NOT NULL CHECK (length(name) <= 255), |
| step_index INTEGER NOT NULL, |
| script_id INTEGER NOT NULL, |
| script_content TEXT NOT NULL, |
| script_type TEXT NOT NULL CHECK (length(script_type) <= 255), |
| status INTEGER NOT NULL DEFAULT 0 CHECK (status IN (0, 1, 2, 3)), |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS command_logs |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| command_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, 4)), |
| log_name TEXT NOT NULL CHECK (length(log_name) <= 255) |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS transfer_tasks |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| name TEXT NOT NULL CHECK (length(name) <= 255), |
| flow_id INTEGER NOT NULL, |
| step_index INTEGER NOT NULL, |
| src_node TEXT NOT NULL, |
| src_node_task_id INTEGER NOT NULL, |
| dst_nodes TEXT NOT NULL, |
| message TEXT NOT NULL DEFAULT '', |
| path_list TEXT NOT NULL DEFAULT '[]', |
| status INTEGER NOT NULL DEFAULT 0 CHECK (status IN (0, 1, 2, 3)), |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS transfer_files |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| flow_id INTEGER NOT NULL, |
| transfer_task_id INTEGER NOT NULL, |
| src_file TEXT NOT NULL, |
| dst_file TEXT NOT NULL, |
| file_size INTEGER NOT NULL, |
| is_dir INTEGER NOT NULL DEFAULT 0 |
| ); |
|
|
|
|
| |
| CREATE TABLE IF NOT EXISTS transfer_logs |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| flow_id INTEGER NOT NULL, |
| transfer_task_id INTEGER NOT NULL, |
| transfer_file_id INTEGER NOT NULL, |
| dst_node_idx INTEGER NOT NULL, |
| status INTEGER NOT NULL DEFAULT 0 CHECK (status IN (0, 1, 2, 3, 4)), |
| progress INTEGER DEFAULT 0, |
| message TEXT NOT NULL DEFAULT '', |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| started_at INTEGER, |
| completed_at INTEGER |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS flow_templates |
| ( |
| id INTEGER PRIMARY KEY AUTOINCREMENT, |
| name TEXT NOT NULL CHECK (length(name) <= 255), |
| key_words TEXT NOT NULL DEFAULT '', |
| description TEXT NOT NULL DEFAULT '', |
| content TEXT NOT NULL, |
| created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), |
| updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) |
| ); |
|
|
| CREATE INDEX IF NOT EXISTS idx_scripts_name ON scripts (name); |
| CREATE INDEX IF NOT EXISTS idx_scripts_description ON scripts (description); |
|
|
| CREATE INDEX IF NOT EXISTS idx_flow_server_ids ON flows (server_ids); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_command_tasks_flow_id ON command_tasks (flow_id); |
| CREATE INDEX IF NOT EXISTS idx_command_tasks_script_id ON command_tasks (script_id); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_command_logs_task_id ON command_logs (command_task_id); |
| CREATE INDEX IF NOT EXISTS idx_command_logs_server_id ON command_logs (server_id); |
| |
| CREATE INDEX IF NOT EXISTS idx_command_logs_status ON command_logs (command_task_id, status); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_transfer_tasks_flow_id ON transfer_tasks (flow_id); |
| CREATE INDEX IF NOT EXISTS idx_transfer_tasks_src_node_task_id ON transfer_tasks (src_node_task_id); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_transfer_files_task_id ON transfer_files (transfer_task_id); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_transfer_logs_flow_id ON transfer_logs (flow_id); |
| CREATE INDEX IF NOT EXISTS idx_transfer_logs_task_id ON transfer_logs (transfer_task_id); |
| CREATE INDEX IF NOT EXISTS idx_transfer_logs_file_id ON transfer_logs (transfer_file_id); |
| |
| CREATE INDEX IF NOT EXISTS idx_transfer_logs_status ON transfer_logs (transfer_file_id, status); |
|
|
| |
| CREATE INDEX IF NOT EXISTS idx_flow_templates_name ON flow_templates (name); |
| CREATE INDEX IF NOT EXISTS idx_flow_templates_key_words ON flow_templates (key_words); |
|
|
|
|
|
|
|
|
|
|