This commit is contained in:
2026-03-06 22:21:44 +01:00
parent 5047dd8a05
commit 06e240cc22
10 changed files with 140 additions and 85 deletions

View File

@@ -94,6 +94,7 @@ $mm->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName
token VARCHAR(64) NOT NULL UNIQUE,
host_id INTEGER NOT NULL,
provider VARCHAR(20) NOT NULL DEFAULT 'ttyd',
command_text TEXT NULL,
created_by VARCHAR(120) NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
expires_at TIMESTAMP NOT NULL,
@@ -139,6 +140,7 @@ $mm->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName
token VARCHAR(64) NOT NULL UNIQUE,
host_id INTEGER NOT NULL,
provider VARCHAR(20) NOT NULL DEFAULT 'ttyd',
command_text TEXT NULL,
created_by VARCHAR(120) NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
expires_at DATETIME NOT NULL,
@@ -154,6 +156,7 @@ $mm->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName
$pdo->exec("ALTER TABLE {$runTable} ADD COLUMN IF NOT EXISTS timeout_sec INTEGER NULL");
$pdo->exec("ALTER TABLE {$runTable} ADD COLUMN IF NOT EXISTS started_at TIMESTAMP NULL");
$pdo->exec("ALTER TABLE {$runTable} ADD COLUMN IF NOT EXISTS finished_at TIMESTAMP NULL");
$pdo->exec("ALTER TABLE {$sessionTable} ADD COLUMN IF NOT EXISTS command_text TEXT NULL");
} else {
$columns = [];
$stmt = $pdo->query('PRAGMA table_info(' . $cmdTable . ')');
@@ -184,6 +187,15 @@ $mm->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName
if (empty($columns['finished_at'])) {
$pdo->exec("ALTER TABLE {$runTable} ADD COLUMN finished_at DATETIME NULL");
}
$columns = [];
$stmt = $pdo->query('PRAGMA table_info(' . $sessionTable . ')');
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $col) {
$columns[$col['name']] = true;
}
if (empty($columns['command_text'])) {
$pdo->exec("ALTER TABLE {$sessionTable} ADD COLUMN command_text TEXT NULL");
}
}
// Seed default commands (only when empty)