diff --git a/internal/database/migrations/000001_create_users.down.sql b/internal/database/migrations/000001_create_users.down.sql index 0e03010..7150d35 100644 --- a/internal/database/migrations/000001_create_users.down.sql +++ b/internal/database/migrations/000001_create_users.down.sql @@ -1,2 +1,2 @@ -DROP TABLE IF EXISTS sessions; +DROP TABLE IF EXISTS refresh_tokens; DROP TABLE IF EXISTS users; diff --git a/internal/database/migrations/000001_create_users.up.sql b/internal/database/migrations/000001_create_users.up.sql index 76b4892..b8f889e 100644 --- a/internal/database/migrations/000001_create_users.up.sql +++ b/internal/database/migrations/000001_create_users.up.sql @@ -6,11 +6,13 @@ CREATE TABLE IF NOT EXISTS users ( created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); -CREATE TABLE IF NOT EXISTS sessions ( +CREATE TABLE IF NOT EXISTS refresh_tokens ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, - token_id UUID UNIQUE NOT NULL, + token_hash VARCHAR(64) UNIQUE NOT NULL, is_revoked BOOLEAN NOT NULL DEFAULT FALSE, expires_at TIMESTAMPTZ NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); + +CREATE INDEX idx_refresh_tokens_hash ON refresh_tokens(token_hash);