25 lines
708 B
SQL
25 lines
708 B
SQL
CREATE TABLE IF NOT EXISTS user_tokens (
|
|
id UUID PRIMARY KEY DEFAULT uuidv7(),
|
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
token VARCHAR(255) NOT NULL UNIQUE,
|
|
token_type SMALLINT NOT NULL,
|
|
is_deleted BOOLEAN NOT NULL DEFAULT false,
|
|
expires_at TIMESTAMPTZ NOT NULL,
|
|
created_at TIMESTAMPTZ DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX idx_user_tokens_token
|
|
ON user_tokens(token)
|
|
WHERE is_deleted = false;
|
|
|
|
CREATE INDEX idx_user_tokens_user_id
|
|
ON user_tokens(user_id)
|
|
WHERE is_deleted = false;
|
|
|
|
CREATE INDEX idx_user_tokens_type
|
|
ON user_tokens(token_type)
|
|
WHERE is_deleted = false;
|
|
|
|
CREATE INDEX idx_user_tokens_expires_at
|
|
ON user_tokens(expires_at)
|
|
WHERE is_deleted = false; |