2022-07-01 10:50:09 -07:00
|
|
|
CREATE TABLE schema_migrations (version uint64,dirty bool);
|
|
|
|
|
CREATE UNIQUE INDEX version_unique ON schema_migrations (version);
|
2022-08-17 12:24:09 -07:00
|
|
|
CREATE TABLE client (
|
2022-09-21 22:02:38 -07:00
|
|
|
clientid varchar(36) NOT NULL,
|
2022-08-17 12:24:09 -07:00
|
|
|
userid varchar(36) NOT NULL,
|
2022-08-26 16:21:19 -07:00
|
|
|
activesessionid varchar(36) NOT NULL,
|
2022-08-17 12:24:09 -07:00
|
|
|
userpublickeybytes blob NOT NULL,
|
2022-10-04 11:45:24 -07:00
|
|
|
userprivatekeybytes blob NOT NULL,
|
|
|
|
|
winsize json NOT NULL
|
2023-12-27 13:11:53 -08:00
|
|
|
, clientopts json NOT NULL DEFAULT '', feopts json NOT NULL DEFAULT '{}', cmdstoretype varchar(20) DEFAULT 'session', openaiopts json NOT NULL DEFAULT '{}', releaseinfo json NOT NULL DEFAULT '{}');
|
2022-07-01 10:50:09 -07:00
|
|
|
CREATE TABLE session (
|
|
|
|
|
sessionid varchar(36) PRIMARY KEY,
|
2022-08-08 08:34:59 -07:00
|
|
|
name varchar(50) NOT NULL,
|
|
|
|
|
sessionidx int NOT NULL,
|
|
|
|
|
activescreenid varchar(36) NOT NULL,
|
2022-08-17 12:24:09 -07:00
|
|
|
notifynum int NOT NULL,
|
2022-12-25 13:03:11 -08:00
|
|
|
archived boolean NOT NULL,
|
2022-12-25 13:21:48 -08:00
|
|
|
archivedts bigint NOT NULL,
|
2023-03-14 16:37:22 -07:00
|
|
|
sharemode varchar(12) NOT NULL);
|
2022-08-08 08:34:59 -07:00
|
|
|
CREATE TABLE remote_instance (
|
|
|
|
|
riid varchar(36) PRIMARY KEY,
|
|
|
|
|
name varchar(50) NOT NULL,
|
2022-07-01 10:50:09 -07:00
|
|
|
sessionid varchar(36) NOT NULL,
|
2023-03-14 16:37:22 -07:00
|
|
|
screenid varchar(36) NOT NULL,
|
2022-08-24 13:21:54 -07:00
|
|
|
remoteownerid varchar(36) NOT NULL,
|
2022-07-01 10:50:09 -07:00
|
|
|
remoteid varchar(36) NOT NULL,
|
2022-11-28 00:13:00 -08:00
|
|
|
festate json NOT NULL,
|
|
|
|
|
statebasehash varchar(36) NOT NULL,
|
|
|
|
|
statediffhasharr json NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE state_base (
|
|
|
|
|
basehash varchar(36) PRIMARY KEY,
|
|
|
|
|
ts bigint NOT NULL,
|
|
|
|
|
version varchar(200) NOT NULL,
|
|
|
|
|
data blob NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE state_diff (
|
|
|
|
|
diffhash varchar(36) PRIMARY KEY,
|
|
|
|
|
ts bigint NOT NULL,
|
|
|
|
|
basehash varchar(36) NOT NULL,
|
|
|
|
|
diffhasharr json NOT NULL,
|
|
|
|
|
data blob NOT NULL
|
2022-07-01 10:50:09 -07:00
|
|
|
);
|
|
|
|
|
CREATE TABLE remote (
|
|
|
|
|
remoteid varchar(36) PRIMARY KEY,
|
|
|
|
|
remotetype varchar(10) NOT NULL,
|
2022-08-17 12:24:09 -07:00
|
|
|
remotealias varchar(50) NOT NULL,
|
|
|
|
|
remotecanonicalname varchar(200) NOT NULL,
|
|
|
|
|
remoteuser varchar(50) NOT NULL,
|
|
|
|
|
remotehost varchar(200) NOT NULL,
|
2022-08-21 12:31:29 -07:00
|
|
|
connectmode varchar(20) NOT NULL,
|
2022-10-04 11:45:24 -07:00
|
|
|
autoinstall boolean NOT NULL,
|
2022-08-08 08:34:59 -07:00
|
|
|
sshopts json NOT NULL,
|
2022-08-21 12:31:29 -07:00
|
|
|
remoteopts json NOT NULL,
|
2022-09-13 17:11:36 -07:00
|
|
|
lastconnectts bigint NOT NULL,
|
2022-10-04 11:45:24 -07:00
|
|
|
local boolean NOT NULL,
|
2022-09-14 12:06:55 -07:00
|
|
|
archived boolean NOT NULL,
|
2023-12-28 11:09:41 -08:00
|
|
|
remoteidx int NOT NULL,
|
|
|
|
|
statevars json NOT NULL DEFAULT '{}',
|
|
|
|
|
sshconfigsrc varchar(36) NOT NULL DEFAULT 'waveterm-manual',
|
|
|
|
|
openaiopts json NOT NULL DEFAULT '{}');
|
2022-07-01 10:50:09 -07:00
|
|
|
CREATE TABLE history (
|
2022-08-11 12:07:41 -07:00
|
|
|
historyid varchar(36) PRIMARY KEY,
|
2022-08-08 08:34:59 -07:00
|
|
|
ts bigint NOT NULL,
|
2022-08-11 12:07:41 -07:00
|
|
|
userid varchar(36) NOT NULL,
|
|
|
|
|
sessionid varchar(36) NOT NULL,
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
lineid int NOT NULL,
|
2022-08-28 14:24:05 -07:00
|
|
|
remoteownerid varchar(36) NOT NULL,
|
|
|
|
|
remoteid varchar(36) NOT NULL,
|
|
|
|
|
remotename varchar(50) NOT NULL,
|
2022-08-11 23:45:15 -07:00
|
|
|
haderror boolean NOT NULL,
|
2022-08-28 14:24:05 -07:00
|
|
|
cmdstr text NOT NULL,
|
2022-12-19 18:52:08 -08:00
|
|
|
ismetacmd boolean,
|
2023-12-27 13:11:53 -08:00
|
|
|
linenum int NOT NULL DEFAULT 0, exitcode int NULL DEFAULT NULL, durationms int NULL DEFAULT NULL, festate json NOT NULL DEFAULT '{}', tags json NOT NULL DEFAULT '{}', status varchar(10) NOT NULL DEFAULT 'unknown');
|
2023-03-20 12:19:48 -07:00
|
|
|
CREATE TABLE activity (
|
|
|
|
|
day varchar(20) PRIMARY KEY,
|
|
|
|
|
uploaded boolean NOT NULL,
|
|
|
|
|
tdata json NOT NULL,
|
|
|
|
|
tzname varchar(50) NOT NULL,
|
|
|
|
|
tzoffset int NOT NULL,
|
|
|
|
|
clientversion varchar(20) NOT NULL,
|
|
|
|
|
clientarch varchar(20) NOT NULL
|
|
|
|
|
, buildtime varchar(20) NOT NULL DEFAULT '-', osrelease varchar(20) NOT NULL DEFAULT '-');
|
2023-02-20 15:42:27 -08:00
|
|
|
CREATE TABLE bookmark (
|
|
|
|
|
bookmarkid varchar(36) PRIMARY KEY,
|
|
|
|
|
createdts bigint NOT NULL,
|
|
|
|
|
cmdstr text NOT NULL,
|
|
|
|
|
alias varchar(50) NOT NULL,
|
|
|
|
|
tags json NOT NULL,
|
|
|
|
|
description text NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE bookmark_order (
|
|
|
|
|
tag varchar(50) NOT NULL,
|
|
|
|
|
bookmarkid varchar(36) NOT NULL,
|
|
|
|
|
orderidx int NOT NULL,
|
|
|
|
|
PRIMARY KEY (tag, bookmarkid)
|
|
|
|
|
);
|
2023-03-14 16:37:22 -07:00
|
|
|
CREATE TABLE playbook (
|
|
|
|
|
playbookid varchar(36) PRIMARY KEY,
|
|
|
|
|
playbookname varchar(100) NOT NULL,
|
|
|
|
|
description text NOT NULL,
|
|
|
|
|
entryids json NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE playbook_entry (
|
|
|
|
|
entryid varchar(36) PRIMARY KEY,
|
|
|
|
|
playbookid varchar(36) NOT NULL,
|
|
|
|
|
description text NOT NULL,
|
|
|
|
|
alias varchar(50) NOT NULL,
|
|
|
|
|
cmdstr text NOT NULL,
|
|
|
|
|
createdts bigint NOT NULL,
|
|
|
|
|
updatedts bigint NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE cloud_session (
|
|
|
|
|
sessionid varchar(36) PRIMARY KEY,
|
|
|
|
|
viewkey varchar(50) NOT NULL,
|
|
|
|
|
writekey varchar(50) NOT NULL,
|
|
|
|
|
enckey varchar(100) NOT NULL,
|
|
|
|
|
enctype varchar(50) NOT NULL,
|
|
|
|
|
vts bigint NOT NULL,
|
|
|
|
|
acl json NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE cloud_update (
|
|
|
|
|
updateid varchar(36) PRIMARY KEY,
|
|
|
|
|
ts bigint NOT NULL,
|
|
|
|
|
updatetype varchar(50) NOT NULL,
|
|
|
|
|
updatekeys json NOT NULL
|
|
|
|
|
);
|
2023-03-20 21:38:39 -07:00
|
|
|
CREATE TABLE cmd_migrate (
|
2023-03-14 16:37:22 -07:00
|
|
|
sessionid varchar(36) NOT NULL,
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
2023-03-20 21:38:39 -07:00
|
|
|
cmdid varchar(36) NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE IF NOT EXISTS "screen" (
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
sessionid varchar(36) NOT NULL,
|
2023-03-14 16:37:22 -07:00
|
|
|
name varchar(50) NOT NULL,
|
|
|
|
|
screenidx int NOT NULL,
|
|
|
|
|
screenopts json NOT NULL,
|
|
|
|
|
ownerid varchar(36) NOT NULL,
|
|
|
|
|
sharemode varchar(12) NOT NULL,
|
|
|
|
|
curremoteownerid varchar(36) NOT NULL,
|
|
|
|
|
curremoteid varchar(36) NOT NULL,
|
|
|
|
|
curremotename varchar(50) NOT NULL,
|
|
|
|
|
nextlinenum int NOT NULL,
|
|
|
|
|
selectedline int NOT NULL,
|
|
|
|
|
anchor json NOT NULL,
|
|
|
|
|
focustype varchar(12) NOT NULL,
|
|
|
|
|
archived boolean NOT NULL,
|
2023-12-27 13:11:53 -08:00
|
|
|
archivedts bigint NOT NULL, webshareopts json NOT NULL DEFAULT 'null', screenviewopts json DEFAULT '{}',
|
2023-03-20 21:38:39 -07:00
|
|
|
PRIMARY KEY (screenid)
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE IF NOT EXISTS "line" (
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
userid varchar(36) NOT NULL,
|
|
|
|
|
lineid varchar(36) NOT NULL,
|
|
|
|
|
ts bigint NOT NULL,
|
|
|
|
|
linenum int NOT NULL,
|
|
|
|
|
linenumtemp boolean NOT NULL,
|
|
|
|
|
linetype varchar(10) NOT NULL,
|
|
|
|
|
linelocal boolean NOT NULL,
|
|
|
|
|
text text NOT NULL,
|
|
|
|
|
ephemeral boolean NOT NULL,
|
|
|
|
|
contentheight int NOT NULL,
|
|
|
|
|
star int NOT NULL,
|
|
|
|
|
archived boolean NOT NULL,
|
2023-09-01 15:21:35 -07:00
|
|
|
renderer varchar(50) NOT NULL, linestate json NOT NULL DEFAULT '{}',
|
2023-03-20 21:38:39 -07:00
|
|
|
PRIMARY KEY (screenid, lineid)
|
|
|
|
|
);
|
2023-03-29 12:40:53 -07:00
|
|
|
CREATE TABLE screenupdate (
|
2023-03-24 10:34:07 -07:00
|
|
|
updateid integer PRIMARY KEY,
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
lineid varchar(36) NOT NULL,
|
|
|
|
|
updatetype varchar(50) NOT NULL,
|
|
|
|
|
updatets bigint NOT NULL
|
|
|
|
|
);
|
2023-03-29 12:40:53 -07:00
|
|
|
CREATE TABLE webptypos (
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
lineid varchar(36) NOT NULL,
|
|
|
|
|
ptypos bigint NOT NULL,
|
|
|
|
|
PRIMARY KEY (screenid, lineid)
|
|
|
|
|
);
|
|
|
|
|
CREATE INDEX idx_screenupdate_ids ON screenupdate (screenid, lineid);
|
2023-09-01 15:21:35 -07:00
|
|
|
CREATE TABLE IF NOT EXISTS "cmd" (
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
lineid varchar(36) NOT NULL,
|
|
|
|
|
remoteownerid varchar(36) NOT NULL,
|
|
|
|
|
remoteid varchar(36) NOT NULL,
|
|
|
|
|
remotename varchar(50) NOT NULL,
|
|
|
|
|
cmdstr text NOT NULL,
|
|
|
|
|
rawcmdstr text NOT NULL,
|
|
|
|
|
festate json NOT NULL,
|
|
|
|
|
statebasehash varchar(36) NOT NULL,
|
|
|
|
|
statediffhasharr json NOT NULL,
|
|
|
|
|
termopts json NOT NULL,
|
|
|
|
|
origtermopts json NOT NULL,
|
|
|
|
|
status varchar(10) NOT NULL,
|
|
|
|
|
cmdpid int NOT NULL,
|
|
|
|
|
remotepid int NOT NULL,
|
|
|
|
|
donets bigint NOT NULL,
|
|
|
|
|
exitcode int NOT NULL,
|
|
|
|
|
durationms int NOT NULL,
|
|
|
|
|
rtnstate boolean NOT NULL,
|
|
|
|
|
rtnbasehash varchar(36) NOT NULL,
|
|
|
|
|
rtndiffhasharr json NOT NULL,
|
|
|
|
|
runout json NOT NULL,
|
|
|
|
|
PRIMARY KEY (screenid, lineid)
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE cmd_migrate20 (
|
|
|
|
|
screenid varchar(36) NOT NULL,
|
|
|
|
|
lineid varchar(36) NOT NULL,
|
|
|
|
|
cmdid varchar(36) NOT NULL,
|
|
|
|
|
PRIMARY KEY (screenid, lineid)
|
|
|
|
|
);
|
2023-12-27 13:11:53 -08:00
|
|
|
CREATE TABLE session_tombstone (
|
|
|
|
|
sessionid varchar(36) PRIMARY KEY,
|
|
|
|
|
deletedts bigint NOT NULL,
|
|
|
|
|
name varchar(50) NOT NULL
|
|
|
|
|
);
|
|
|
|
|
CREATE TABLE screen_tombstone (
|
|
|
|
|
screenid varchar(36) PRIMARY KEY,
|
|
|
|
|
sessionid varchar(36) NOT NULL,
|
|
|
|
|
deletedts bigint NOT NULL,
|
|
|
|
|
screenopts json NOT NULL,
|
|
|
|
|
name varchar(50) NOT NULL
|
|
|
|
|
);
|