waveterm/db/schema.sql

126 lines
3.8 KiB
MySQL
Raw Normal View History

2022-07-01 19:50:09 +02:00
CREATE TABLE schema_migrations (version uint64,dirty bool);
CREATE UNIQUE INDEX version_unique ON schema_migrations (version);
CREATE TABLE client (
2022-09-22 07:02:38 +02:00
clientid varchar(36) NOT NULL,
userid varchar(36) NOT NULL,
activesessionid varchar(36) NOT NULL,
userpublickeybytes blob NOT NULL,
userprivatekeybytes blob NOT NULL
);
2022-07-01 19:50:09 +02:00
CREATE TABLE session (
sessionid varchar(36) PRIMARY KEY,
2022-08-08 17:34:59 +02:00
name varchar(50) NOT NULL,
sessionidx int NOT NULL,
activescreenid varchar(36) NOT NULL,
notifynum int NOT NULL,
2022-08-24 22:21:54 +02:00
ownerid varchar(36) NOT NULL,
sharemode varchar(12) NOT NULL,
accesskey varchar(36) NOT NULL
2022-07-01 19:50:09 +02:00
);
CREATE TABLE window (
sessionid varchar(36) NOT NULL,
windowid varchar(36) NOT NULL,
2022-08-24 22:21:54 +02:00
curremoteownerid varchar(36) NOT NULL,
curremoteid varchar(36) NOT NULL,
curremotename varchar(50) NOT NULL,
2022-09-22 07:02:38 +02:00
nextlinenum int NOT NULL,
2022-08-08 17:34:59 +02:00
winopts json NOT NULL,
2022-08-24 22:21:54 +02:00
ownerid varchar(36) NOT NULL,
sharemode varchar(12) NOT NULL,
shareopts json NOT NULL,
2022-07-01 19:50:09 +02:00
PRIMARY KEY (sessionid, windowid)
);
2022-08-08 17:34:59 +02:00
CREATE TABLE screen (
sessionid varchar(36) NOT NULL,
screenid varchar(36) NOT NULL,
name varchar(50) NOT NULL,
activewindowid varchar(36) NOT NULL,
screenidx int NOT NULL,
screenopts json NOT NULL,
2022-08-24 22:21:54 +02:00
ownerid varchar(36) NOT NULL,
sharemode varchar(12) NOT NULL,
2022-08-08 17:34:59 +02:00
PRIMARY KEY (sessionid, screenid)
);
CREATE TABLE screen_window (
sessionid varchar(36) NOT NULL,
screenid varchar(36) NOT NULL,
windowid varchar(36) NOT NULL,
name varchar(50) NOT NULL,
layout json NOT NULL,
PRIMARY KEY (sessionid, screenid, windowid)
);
CREATE TABLE remote_instance (
riid varchar(36) PRIMARY KEY,
name varchar(50) NOT NULL,
2022-07-01 19:50:09 +02:00
sessionid varchar(36) NOT NULL,
windowid varchar(36) NOT NULL,
2022-08-24 22:21:54 +02:00
remoteownerid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
remoteid varchar(36) NOT NULL,
2022-08-08 17:34:59 +02:00
state json NOT NULL
2022-07-01 19:50:09 +02:00
);
CREATE TABLE line (
sessionid varchar(36) NOT NULL,
windowid varchar(36) NOT NULL,
userid varchar(36) NOT NULL,
lineid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
ts bigint NOT NULL,
linenum int NOT NULL,
linenumtemp boolean NOT NULL,
2022-07-01 19:50:09 +02:00
linetype varchar(10) NOT NULL,
linelocal boolean NOT NULL,
2022-07-01 19:50:09 +02:00
text text NOT NULL,
cmdid varchar(36) NOT NULL,
2022-08-24 06:05:49 +02:00
ephemeral boolean NOT NULL,
2022-07-01 19:50:09 +02:00
PRIMARY KEY (sessionid, windowid, lineid)
);
CREATE TABLE remote (
remoteid varchar(36) PRIMARY KEY,
physicalid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
remotetype varchar(10) NOT NULL,
remotealias varchar(50) NOT NULL,
remotecanonicalname varchar(200) NOT NULL,
remotesudo boolean NOT NULL,
remoteuser varchar(50) NOT NULL,
remotehost varchar(200) NOT NULL,
connectmode varchar(20) NOT NULL,
2022-08-08 17:34:59 +02:00
initpk json NOT NULL,
sshopts json NOT NULL,
remoteopts json NOT NULL,
2022-09-14 02:11:36 +02:00
lastconnectts bigint NOT NULL,
2022-09-14 21:06:55 +02:00
archived boolean NOT NULL,
remoteidx int NOT NULL
2022-07-01 19:50:09 +02:00
);
2022-08-08 17:34:59 +02:00
CREATE TABLE cmd (
2022-07-01 19:50:09 +02:00
sessionid varchar(36) NOT NULL,
cmdid varchar(36) NOT NULL,
2022-08-24 22:21:54 +02:00
remoteownerid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
remoteid varchar(36) NOT NULL,
2022-08-24 22:21:54 +02:00
remotename varchar(50) NOT NULL,
2022-08-08 17:34:59 +02:00
cmdstr text NOT NULL,
remotestate json NOT NULL,
termopts json NOT NULL,
2022-09-22 07:02:38 +02:00
origtermopts json NOT NULL,
2022-07-01 19:50:09 +02:00
status varchar(10) NOT NULL,
2022-08-08 17:34:59 +02:00
startpk json NOT NULL,
donepk json NOT NULL,
runout json NOT NULL,
usedrows int NOT NULL,
2022-07-01 19:50:09 +02:00
PRIMARY KEY (sessionid, cmdid)
);
CREATE TABLE history (
2022-08-11 21:07:41 +02:00
historyid varchar(36) PRIMARY KEY,
ts bigint NOT NULL,
userid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
sessionid varchar(36) NOT NULL,
2022-08-11 21:07:41 +02:00
screenid varchar(36) NOT NULL,
2022-07-01 19:50:09 +02:00
windowid varchar(36) NOT NULL,
2022-08-11 21:07:41 +02:00
lineid int NOT NULL,
remoteownerid varchar(36) NOT NULL,
remoteid varchar(36) NOT NULL,
remotename varchar(50) NOT NULL,
2022-08-12 08:45:15 +02:00
haderror boolean NOT NULL,
2022-08-11 21:07:41 +02:00
cmdid varchar(36) NOT NULL,
cmdstr text NOT NULL,
ismetacmd boolean
2022-07-01 19:50:09 +02:00
);