summaryrefslogtreecommitdiffstats
path: root/crates/auth-service/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'crates/auth-service/migrations')
-rw-r--r--crates/auth-service/migrations/20250723100947_user.sql20
-rw-r--r--crates/auth-service/migrations/20250723121223_oauth_account.sql7
-rw-r--r--crates/auth-service/migrations/20250725160900_session.sql8
-rw-r--r--crates/auth-service/migrations/20250725161014_token.sql9
4 files changed, 44 insertions, 0 deletions
diff --git a/crates/auth-service/migrations/20250723100947_user.sql b/crates/auth-service/migrations/20250723100947_user.sql
new file mode 100644
index 0000000..b5566fe
--- /dev/null
+++ b/crates/auth-service/migrations/20250723100947_user.sql
@@ -0,0 +1,20 @@
+-- Add migration script here
+create table auth_user (
+ id uuid primary key,
+ email text unique not null,
+ updated_at timestamptz not null default now(),
+ created_at timestamptz not null default now()
+);
+
+create or replace function set_updated_at()
+returns trigger as $$
+begin
+ new.updated_at := now();
+ return new;
+end;
+$$ language plpgsql;
+
+create trigger trigger_set_updated_at
+before update on auth_user
+for each row
+execute function set_updated_at();
diff --git a/crates/auth-service/migrations/20250723121223_oauth_account.sql b/crates/auth-service/migrations/20250723121223_oauth_account.sql
new file mode 100644
index 0000000..826fbcc
--- /dev/null
+++ b/crates/auth-service/migrations/20250723121223_oauth_account.sql
@@ -0,0 +1,7 @@
+CREATE TABLE oauth_account (
+ provider_id text not null,
+ provider_user_id text not null,
+ user_id uuid not null,
+ primary key (provider_id, provider_user_id),
+ foreign key (user_id) references auth_user(id)
+);
diff --git a/crates/auth-service/migrations/20250725160900_session.sql b/crates/auth-service/migrations/20250725160900_session.sql
new file mode 100644
index 0000000..c5e76dc
--- /dev/null
+++ b/crates/auth-service/migrations/20250725160900_session.sql
@@ -0,0 +1,8 @@
+-- Add migration script here
+create schema if not exists "tower_sessions";
+
+create table "tower_sessions"."session" (
+ id text primary key not null,
+ data bytea not null,
+ expiry_date timestamptz not null
+);
diff --git a/crates/auth-service/migrations/20250725161014_token.sql b/crates/auth-service/migrations/20250725161014_token.sql
new file mode 100644
index 0000000..68f476c
--- /dev/null
+++ b/crates/auth-service/migrations/20250725161014_token.sql
@@ -0,0 +1,9 @@
+-- Add migration script here
+create table token (
+ user_id uuid not null,
+ token text not null,
+ session_id text not null,
+ primary key (user_id, session_id),
+ foreign key (session_id) references "tower_sessions"."session"(id) on delete cascade,
+ foreign key (user_id) references auth_user(id) on delete cascade
+);