48 lines
1.6 KiB
SQL
48 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS servers (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
alias TEXT NOT NULL UNIQUE,
|
|
display_name TEXT NOT NULL DEFAULT '',
|
|
host TEXT NOT NULL,
|
|
port INTEGER NOT NULL DEFAULT 22,
|
|
user TEXT NOT NULL DEFAULT '',
|
|
auth_method TEXT NOT NULL DEFAULT 'key',
|
|
identity_file TEXT NOT NULL DEFAULT '',
|
|
proxy_jump TEXT NOT NULL DEFAULT '',
|
|
group_name TEXT NOT NULL DEFAULT '',
|
|
notes TEXT NOT NULL DEFAULT '',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
last_connected_at DATETIME,
|
|
last_test_at DATETIME,
|
|
last_test_status TEXT NOT NULL DEFAULT 'unknown',
|
|
last_test_error TEXT NOT NULL DEFAULT ''
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS tags (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL UNIQUE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS server_tags (
|
|
server_id INTEGER NOT NULL REFERENCES servers(id) ON DELETE CASCADE,
|
|
tag_id INTEGER NOT NULL REFERENCES tags(id) ON DELETE CASCADE,
|
|
PRIMARY KEY (server_id, tag_id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS forwards (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
server_id INTEGER NOT NULL REFERENCES servers(id) ON DELETE CASCADE,
|
|
type TEXT NOT NULL DEFAULT 'local',
|
|
local_addr TEXT NOT NULL DEFAULT '',
|
|
local_port INTEGER NOT NULL DEFAULT 0,
|
|
remote_addr TEXT NOT NULL DEFAULT '',
|
|
remote_port INTEGER NOT NULL DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS command_templates (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
server_id INTEGER NOT NULL REFERENCES servers(id) ON DELETE CASCADE,
|
|
name TEXT NOT NULL,
|
|
command TEXT NOT NULL
|
|
);
|