aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-server/migrations
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-04-25 18:21:52 +0100
committerGitHub <noreply@github.com>2021-04-25 17:21:52 +0000
commit156893d774b4da5b541fdbb08428f9ec392949a0 (patch)
tree9185d94384aa62eb6eb099ddc4ca9408df6f90d1 /atuin-server/migrations
parentAdd to Cargo.toml (diff)
downloadatuin-156893d774b4da5b541fdbb08428f9ec392949a0.zip
Update docs, unify on SQLx, bugfixes (#40)
* Begin moving to sqlx for local too * Stupid scanners should just have a nice cup of tea Random internet shit searching for /.env or whatever * Remove diesel and rusqlite fully
Diffstat (limited to 'atuin-server/migrations')
-rw-r--r--atuin-server/migrations/20210425153745_create_history.sql11
-rw-r--r--atuin-server/migrations/20210425153757_create_users.sql10
-rw-r--r--atuin-server/migrations/20210425153800_create_sessions.sql6
3 files changed, 27 insertions, 0 deletions
diff --git a/atuin-server/migrations/20210425153745_create_history.sql b/atuin-server/migrations/20210425153745_create_history.sql
new file mode 100644
index 00000000..2c2d17b0
--- /dev/null
+++ b/atuin-server/migrations/20210425153745_create_history.sql
@@ -0,0 +1,11 @@
+create table history (
+ 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
+
+ data varchar(8192) not null, -- store the actual history data, encrypted. I don't wanna know!
+
+ created_at timestamp not null default current_timestamp
+);
diff --git a/atuin-server/migrations/20210425153757_create_users.sql b/atuin-server/migrations/20210425153757_create_users.sql
new file mode 100644
index 00000000..a25dcced
--- /dev/null
+++ b/atuin-server/migrations/20210425153757_create_users.sql
@@ -0,0 +1,10 @@
+create table users (
+ id bigserial primary key, -- also store our own ID
+ username varchar(32) not null unique, -- being able to contact users is useful
+ email varchar(128) not null unique, -- being able to contact users is useful
+ password varchar(128) not null unique
+);
+
+-- the prior index is case sensitive :(
+CREATE UNIQUE INDEX email_unique_idx on users (LOWER(email));
+CREATE UNIQUE INDEX username_unique_idx on users (LOWER(username));
diff --git a/atuin-server/migrations/20210425153800_create_sessions.sql b/atuin-server/migrations/20210425153800_create_sessions.sql
new file mode 100644
index 00000000..c2fb6559
--- /dev/null
+++ b/atuin-server/migrations/20210425153800_create_sessions.sql
@@ -0,0 +1,6 @@
+-- Add migration script here
+create table sessions (
+ id bigserial primary key,
+ user_id bigserial,
+ token varchar(128) unique not null
+);