aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 01:05:07 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 01:05:07 +0200
commit7a9e229d5f4913d1a48c92615bcb3234f5dcfd33 (patch)
tree21eacdafe35d4e36918dcac39688678f87ea4b0c /crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql
parentchore: Move everything into one big crate (diff)
downloadatuin-7a9e229d5f4913d1a48c92615bcb3234f5dcfd33.zip
chore: Restore db migrations
Diffstat (limited to 'crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql')
-rw-r--r--crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql b/crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql
new file mode 100644
index 00000000..ca19ed62
--- /dev/null
+++ b/crates/turtle/db/server-sqlite-migrations/20231203124112_create-store.sql
@@ -0,0 +1,17 @@
+create table store (
+ id text primary key, -- remember to use uuidv7 for happy indices <3
+ client_id text not null, -- I am too uncomfortable with the idea of a client-generated primary key, even though it's fine mathematically
+ host text not null, -- a unique identifier for the host
+ idx bigint not null, -- the index of the record in this store, identified by (host, tag)
+ timestamp bigint not null, -- not a timestamp type, as those do not have nanosecond precision
+ version text not null,
+ tag text not null, -- what is this? history, kv, whatever. Remember clients get a log per tag per host
+ data text not null, -- store the actual history data, encrypted. I don't wanna know!
+ cek text not null,
+
+ user_id bigint not null, -- allow multiple users
+ created_at timestamp not null default current_timestamp
+);
+
+create unique index record_uniq ON store(user_id, host, tag, idx);
+