create table refresh_tokens ( id uuid primary key default uuidv4(), user_id uuid not null references users(id) on delete cascade, token_hash varchar(255) not null, -- SHA-256 hash of the plain token expires_at timestamptz not null, created_at timestamptz not null default now(), revoked_at timestamptz, constraint unique_token_hash unique (token_hash) );