e297b98f72
* Add event data structures This adds the data structures required to start syncing events, rather than syncing history directly. Adjust event Fix Add event data structure to client * Add server event table sql * Add client event table migration Adjust migration * Insert into event table from client * Add event merge function Right now this just ensures we have the right amount of events given the history we have BUT it will also be used to merge CREATE/DELETE events, resulting in history being deleted :) * Make CI happy * Adjust * we don't limit history length any more * Update atuin-client/src/database.rs Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> * fix usage * Fix typo * New Rust, new clippy stuff Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
14 lines
577 B
SQL
14 lines
577 B
SQL
create type event_type as enum ('create', 'delete');
|
|
|
|
create table events (
|
|
id bigserial primary key,
|
|
client_id text not null unique, -- the client-generated ID
|
|
user_id bigserial not null, -- allow multiple users
|
|
hostname text not null, -- a unique identifier from the client (can be hashed, random, whatever)
|
|
timestamp timestamp not null, -- one of the few non-encrypted metadatas
|
|
|
|
event_type event_type,
|
|
data text not null, -- store the actual history data, encrypted. I don't wanna know!
|
|
|
|
created_at timestamp not null default current_timestamp
|
|
);
|