diff options
author | Ellie Huxtable <ellie@elliehuxtable.com> | 2022-11-04 09:08:20 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-04 09:08:20 +0000 |
commit | e297b98f721bf32d8d4331677eefe49823db32b9 (patch) | |
tree | e30910e2e1e82a0e15fcbc3d8869e35ae99936f8 /atuin-server | |
parent | 6bd82abf6c7ee7f615e953892182555ff5b49821 (diff) |
Add local event log storage (#390)
* 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>
Diffstat (limited to 'atuin-server')
-rw-r--r-- | atuin-server/migrations/20220505082442_create-events.sql | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/atuin-server/migrations/20220505082442_create-events.sql b/atuin-server/migrations/20220505082442_create-events.sql new file mode 100644 index 000000000..57e16ec73 --- /dev/null +++ b/atuin-server/migrations/20220505082442_create-events.sql @@ -0,0 +1,14 @@ +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 +); |