mirror of
https://github.com/atuinsh/atuin.git
synced 2024-12-01 20:55:49 +01:00
97e24d0d41
* Add record migration
* Add database functions for inserting history
No real tests yet :( I would like to avoid running postgres lol
* Add index handler, use UUIDs not strings
* Fix a bunch of tests, remove Option<Uuid>
* Add tests, all passing
* Working upload sync
* Record downloading works
* Sync download works
* Don't waste requests
* Use a page size for uploads, make it variable later
* Aaaaaand they're encrypted now too
* Add cek
* Allow reading tail across hosts
* Revert "Allow reading tail across hosts"
Not like that
This reverts commit 7b0c72e7e0
.
* Handle multiple shards properly
* format
* Format and make clippy happy
* use some fancy types (#1098)
* use some fancy types
* fmt
* Goodbye horrible tuple
* Update atuin-server-postgres/migrations/20230623070418_records.sql
Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
* fmt
* Sort tests too because time sucks
* fix features
---------
Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
16 lines
902 B
SQL
16 lines
902 B
SQL
-- Add migration script here
|
|
create table records (
|
|
id uuid primary key, -- remember to use uuidv7 for happy indices <3
|
|
client_id uuid not null, -- I am too uncomfortable with the idea of a client-generated primary key
|
|
host uuid not null, -- a unique identifier for the host
|
|
parent uuid default null, -- the ID of the parent record, bearing in mind this is a linked list
|
|
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
|
|
);
|