veza/veza-backend-api/migrations/049_migrate_sessions_to_uuid.sql

24 lines
786 B
MySQL
Raw Normal View History

2025-12-03 19:29:37 +00:00
-- Migration to convert sessions table to use UUIDs
-- We will recreate the table to ensure clean state as it is a critical table
DROP TABLE IF EXISTS sessions;
CREATE TABLE sessions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
token_hash VARCHAR(255) NOT NULL UNIQUE,
ip_address VARCHAR(45),
user_agent TEXT,
is_active BOOLEAN DEFAULT true,
expires_at TIMESTAMPTZ,
revoked_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
deleted_at TIMESTAMPTZ
);
CREATE INDEX idx_sessions_user_id ON sessions(user_id);
CREATE INDEX idx_sessions_token_hash ON sessions(token_hash);
CREATE INDEX idx_sessions_deleted_at ON sessions(deleted_at);