Files
Church-Music/new-site/backend/migrations/add_biometric_auth.sql

32 lines
1.4 KiB
MySQL
Raw Normal View History

2026-01-27 18:04:50 -06:00
-- =====================================================
-- Migration: Add Biometric Authentication Support
-- Description: Adds columns for WebAuthn biometric auth
-- Date: January 2026
-- =====================================================
-- Add biometric authentication columns to users table
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='users' AND column_name='biometric_enabled') THEN
ALTER TABLE users ADD COLUMN biometric_enabled BOOLEAN DEFAULT FALSE;
END IF;
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='users' AND column_name='biometric_credential_id') THEN
ALTER TABLE users ADD COLUMN biometric_credential_id TEXT;
END IF;
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='users' AND column_name='biometric_public_key') THEN
ALTER TABLE users ADD COLUMN biometric_public_key TEXT;
END IF;
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='users' AND column_name='biometric_registered_at') THEN
ALTER TABLE users ADD COLUMN biometric_registered_at TIMESTAMP;
END IF;
END $$;
-- Create index for faster biometric lookups
CREATE INDEX IF NOT EXISTS idx_users_biometric_credential
ON users(biometric_credential_id)
WHERE biometric_enabled = TRUE;
-- Update existing users to have biometric_enabled = false
UPDATE users SET biometric_enabled = FALSE WHERE biometric_enabled IS NULL;