CREATE TABLE device_tokens ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, platform TEXT NOT NULL CHECK (platform IN ('ios', 'android')), app TEXT NOT NULL, push_token TEXT NOT NULL, device_id TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE UNIQUE INDEX idx_device_tokens_user_app_token ON device_tokens(user_id, app, push_token); CREATE INDEX idx_device_tokens_user ON device_tokens(user_id);