-- Reorder oauth_sessions columns to put client_id after session_id
-- This is cosmetic for better viewing in Supabase UI
BEGIN;
-- Step 1: Create new table with desired column order
CREATE TABLE oauth_sessions_new (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE NOT NULL,
session_id TEXT UNIQUE NOT NULL,
client_id TEXT REFERENCES oauth_clients(client_id) ON DELETE CASCADE,
expires_at TIMESTAMP NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
last_used_at TIMESTAMP DEFAULT NOW()
);
-- Step 2: Copy all existing data
INSERT INTO oauth_sessions_new (id, user_id, session_id, client_id, expires_at, created_at, last_used_at)
SELECT id, user_id, session_id, client_id, expires_at, created_at, last_used_at
FROM oauth_sessions;
-- Step 3: Drop old table (this will cascade drop indexes)
DROP TABLE oauth_sessions CASCADE;
-- Step 4: Rename new table to original name
ALTER TABLE oauth_sessions_new RENAME TO oauth_sessions;
-- Step 5: Recreate indexes
CREATE INDEX IF NOT EXISTS idx_oauth_sessions_session_id ON oauth_sessions(session_id);
CREATE INDEX IF NOT EXISTS idx_oauth_sessions_user_id ON oauth_sessions(user_id);
CREATE INDEX IF NOT EXISTS idx_oauth_sessions_expires_at ON oauth_sessions(expires_at);
CREATE INDEX IF NOT EXISTS idx_oauth_sessions_client_id ON oauth_sessions(client_id);
-- Step 6: Disable RLS (system-only table, as per fix-oauth-rls-policies.sql)
ALTER TABLE oauth_sessions DISABLE ROW LEVEL SECURITY;
COMMIT;