aboutsummaryrefslogtreecommitdiffstats
path: root/crates/daemon/db
diff options
context:
space:
mode:
Diffstat (limited to 'crates/daemon/db')
-rw-r--r--crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql5
-rw-r--r--crates/daemon/db/client-migrations/20210422143411_create_history.sql16
-rw-r--r--crates/daemon/db/client-migrations/20220505083406_create-events.sql11
-rw-r--r--crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql6
-rw-r--r--crates/daemon/db/client-migrations/20230315220114_drop-events.sql2
-rw-r--r--crates/daemon/db/client-migrations/20230319185725_deleted_at.sql2
-rw-r--r--crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql2
-rw-r--r--crates/daemon/db/client-record-migrations/20230531212437_create-records.sql16
-rw-r--r--crates/daemon/db/client-record-migrations/20231127090831_create-store.sql15
9 files changed, 75 insertions, 0 deletions
diff --git a/crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql b/crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql
new file mode 100644
index 00000000..26c3c142
--- /dev/null
+++ b/crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql
@@ -0,0 +1,5 @@
+create table if not exists meta (
+ key text not null primary key,
+ value text not null,
+ updated_at integer not null default (strftime('%s', 'now'))
+);
diff --git a/crates/daemon/db/client-migrations/20210422143411_create_history.sql b/crates/daemon/db/client-migrations/20210422143411_create_history.sql
new file mode 100644
index 00000000..1f3f8686
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20210422143411_create_history.sql
@@ -0,0 +1,16 @@
+-- Add migration script here
+create table if not exists history (
+ id text primary key,
+ timestamp integer not null,
+ duration integer not null,
+ exit integer not null,
+ command text not null,
+ cwd text not null,
+ session text not null,
+ hostname text not null,
+
+ unique(timestamp, cwd, command)
+);
+
+create index if not exists idx_history_timestamp on history(timestamp);
+create index if not exists idx_history_command on history(command);
diff --git a/crates/daemon/db/client-migrations/20220505083406_create-events.sql b/crates/daemon/db/client-migrations/20220505083406_create-events.sql
new file mode 100644
index 00000000..f6cafeba
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20220505083406_create-events.sql
@@ -0,0 +1,11 @@
+create table if not exists events (
+ id text primary key,
+ timestamp integer not null,
+ hostname text not null,
+ event_type text not null,
+
+ history_id text not null
+);
+
+-- Ensure there is only ever one of each event type per history item
+create unique index history_event_idx ON events(event_type, history_id);
diff --git a/crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql b/crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql
new file mode 100644
index 00000000..b5770e62
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql
@@ -0,0 +1,6 @@
+-- Interactive search filters by command then by the max(timestamp) for that
+-- command. Create an index that covers those
+create index if not exists idx_history_command_timestamp on history(
+ command,
+ timestamp
+);
diff --git a/crates/daemon/db/client-migrations/20230315220114_drop-events.sql b/crates/daemon/db/client-migrations/20230315220114_drop-events.sql
new file mode 100644
index 00000000..fe3cae17
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20230315220114_drop-events.sql
@@ -0,0 +1,2 @@
+-- Add migration script here
+drop table events;
diff --git a/crates/daemon/db/client-migrations/20230319185725_deleted_at.sql b/crates/daemon/db/client-migrations/20230319185725_deleted_at.sql
new file mode 100644
index 00000000..6c422abc
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20230319185725_deleted_at.sql
@@ -0,0 +1,2 @@
+-- Add migration script here
+alter table history add column deleted_at integer;
diff --git a/crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql b/crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql
new file mode 100644
index 00000000..2bed17e9
--- /dev/null
+++ b/crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql
@@ -0,0 +1,2 @@
+alter table history add column author text;
+alter table history add column intent text;
diff --git a/crates/daemon/db/client-record-migrations/20230531212437_create-records.sql b/crates/daemon/db/client-record-migrations/20230531212437_create-records.sql
new file mode 100644
index 00000000..4f4b304a
--- /dev/null
+++ b/crates/daemon/db/client-record-migrations/20230531212437_create-records.sql
@@ -0,0 +1,16 @@
+-- Add migration script here
+create table if not exists records (
+ id text primary key,
+ parent text unique, -- null if this is the first one
+ host text not null,
+
+ timestamp integer not null,
+ tag text not null,
+ version text not null,
+ data blob not null,
+ cek blob not null
+);
+
+create index host_idx on records (host);
+create index tag_idx on records (tag);
+create index host_tag_idx on records (host, tag);
diff --git a/crates/daemon/db/client-record-migrations/20231127090831_create-store.sql b/crates/daemon/db/client-record-migrations/20231127090831_create-store.sql
new file mode 100644
index 00000000..53d78860
--- /dev/null
+++ b/crates/daemon/db/client-record-migrations/20231127090831_create-store.sql
@@ -0,0 +1,15 @@
+-- Add migration script here
+create table if not exists store (
+ id text primary key, -- globally unique ID
+
+ idx integer, -- incrementing integer ID unique per (host, tag)
+ host text not null, -- references the host row
+ tag text not null,
+
+ timestamp integer not null,
+ version text not null,
+ data blob not null,
+ cek blob not null
+);
+
+create unique index record_uniq ON store(host, tag, idx);