From 58c6c90055f757fefc6f134a7e0dd27f11c21d00 Mon Sep 17 00:00:00 2001 From: Joscha Date: Mon, 20 Jun 2022 09:30:24 +0200 Subject: [PATCH] Create tables for euph messages --- cove-tui/src/vault/migrate.rs | 39 ++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/cove-tui/src/vault/migrate.rs b/cove-tui/src/vault/migrate.rs index 33635c4..a32cbaf 100644 --- a/cove-tui/src/vault/migrate.rs +++ b/cove-tui/src/vault/migrate.rs @@ -21,9 +21,42 @@ const MIGRATIONS: [fn(&mut Transaction) -> rusqlite::Result<()>; 1] = [m1]; fn m1(tx: &mut Transaction) -> rusqlite::Result<()> { tx.execute_batch( " - CREATE TABLE test ( - foo TEXT - ); + CREATE TABLE euph_msgs ( + -- Message + room TEXT NOT NULL, + id INT NOT NULL, + parent INT, + previous_edit_id INT, + time INT NOT NULL, + content TEXT NOT NULL, + encryption_key_id TEXT, + edited INT, + deleted INT, + truncated INT NOT NULL, + + -- SessionView + user_id TEXT NOT NULL, + name TEXT + server_id TEXT NOT NULL, + server_era TEXT NOT NULL, + session_id TEXT NOT NULL, + is_staff INT NOT NULL, + is_manager INT NOT NULL, + client_address TEXT, + real_client_address TEXT, + + PRIMARY KEY (room, id) + ) STRICT; + + CREATE TABLE euph_spans ( + room TEXT NOT NULL, + start INT, + end INT, + + PRIMARY KEY (room, start, end), + FOREIGN KEY (room, start) REFERENCES euph_msgs (room, start), + FOREIGN KEY (room, end) REFERENCES euph_msgs (room, end) + ) STRICT; ", ) }