aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/db/client-migrations
diff options
context:
space:
mode:
Diffstat (limited to 'crates/turtle/db/client-migrations')
-rw-r--r--crates/turtle/db/client-migrations/20210422143411_create_history.sql16
-rw-r--r--crates/turtle/db/client-migrations/20220505083406_create-events.sql11
-rw-r--r--crates/turtle/db/client-migrations/20220806155627_interactive_search_index.sql6
-rw-r--r--crates/turtle/db/client-migrations/20230315220114_drop-events.sql2
-rw-r--r--crates/turtle/db/client-migrations/20230319185725_deleted_at.sql2
-rw-r--r--crates/turtle/db/client-migrations/20260224000100_history_author_intent.sql2
6 files changed, 39 insertions, 0 deletions
diff --git a/crates/turtle/db/client-migrations/20210422143411_create_history.sql b/crates/turtle/db/client-migrations/20210422143411_create_history.sql
new file mode 100644
index 00000000..1f3f8686
--- /dev/null
+++ b/crates/turtle/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/turtle/db/client-migrations/20220505083406_create-events.sql b/crates/turtle/db/client-migrations/20220505083406_create-events.sql
new file mode 100644
index 00000000..f6cafeba
--- /dev/null
+++ b/crates/turtle/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/turtle/db/client-migrations/20220806155627_interactive_search_index.sql b/crates/turtle/db/client-migrations/20220806155627_interactive_search_index.sql
new file mode 100644
index 00000000..b5770e62
--- /dev/null
+++ b/crates/turtle/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/turtle/db/client-migrations/20230315220114_drop-events.sql b/crates/turtle/db/client-migrations/20230315220114_drop-events.sql
new file mode 100644
index 00000000..fe3cae17
--- /dev/null
+++ b/crates/turtle/db/client-migrations/20230315220114_drop-events.sql
@@ -0,0 +1,2 @@
+-- Add migration script here
+drop table events;
diff --git a/crates/turtle/db/client-migrations/20230319185725_deleted_at.sql b/crates/turtle/db/client-migrations/20230319185725_deleted_at.sql
new file mode 100644
index 00000000..6c422abc
--- /dev/null
+++ b/crates/turtle/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/turtle/db/client-migrations/20260224000100_history_author_intent.sql b/crates/turtle/db/client-migrations/20260224000100_history_author_intent.sql
new file mode 100644
index 00000000..2bed17e9
--- /dev/null
+++ b/crates/turtle/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;