fix: use UUID for user IDs to match Supabase auth.uid()

This commit is contained in:
Alan Alonso
2026-05-23 00:52:00 -06:00
parent e6eb466c14
commit 327852e468

View File

@@ -1,8 +1,8 @@
-- ── Esquema Supabase PostgreSQL (migrado de SQLite) ────────────── -- ── Esquema Supabase PostgreSQL (migrado de SQLite) ──────────────
-- Tabla users (Persona A) -- Tabla users (Persona A) — ID como UUID para Supabase Auth
CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS users (
id BIGSERIAL PRIMARY KEY, id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email TEXT UNIQUE NOT NULL, email TEXT UNIQUE NOT NULL,
phone TEXT, phone TEXT,
password_hash TEXT NOT NULL, password_hash TEXT NOT NULL,
@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS users (
-- Tabla addresses (Persona A) -- Tabla addresses (Persona A)
CREATE TABLE IF NOT EXISTS addresses ( CREATE TABLE IF NOT EXISTS addresses (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE, user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
alias TEXT, alias TEXT,
lat DOUBLE PRECISION NOT NULL, lat DOUBLE PRECISION NOT NULL,
lng DOUBLE PRECISION NOT NULL, lng DOUBLE PRECISION NOT NULL,
@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS addresses (
-- Tabla notification_preferences (Persona A) -- Tabla notification_preferences (Persona A)
CREATE TABLE IF NOT EXISTS notification_preferences ( CREATE TABLE IF NOT EXISTS notification_preferences (
user_id BIGINT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE, user_id UUID PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
notify_proximity BOOLEAN DEFAULT TRUE, notify_proximity BOOLEAN DEFAULT TRUE,
notify_breakdown BOOLEAN DEFAULT TRUE, notify_breakdown BOOLEAN DEFAULT TRUE,
notify_delay BOOLEAN DEFAULT TRUE, notify_delay BOOLEAN DEFAULT TRUE,
@@ -91,15 +91,15 @@ ALTER TABLE notificaciones ENABLE ROW LEVEL SECURITY;
-- Policy: users solo ven su propio perfil -- Policy: users solo ven su propio perfil
CREATE POLICY "Users can view own profile" ON users CREATE POLICY "Users can view own profile" ON users
FOR SELECT USING (auth.uid()::TEXT = id::TEXT); FOR SELECT USING (auth.uid() = id);
-- Policy: addresses solo de usuario autenticado -- Policy: addresses solo de usuario autenticado
CREATE POLICY "Users can view own addresses" ON addresses CREATE POLICY "Users can view own addresses" ON addresses
FOR SELECT USING (user_id = auth.uid()::BIGINT); FOR SELECT USING (user_id = auth.uid());
-- Policy: notification_preferences solo de usuario autenticado -- Policy: notification_preferences solo de usuario autenticado
CREATE POLICY "Users can view own preferences" ON notification_preferences CREATE POLICY "Users can view own preferences" ON notification_preferences
FOR SELECT USING (user_id = auth.uid()::BIGINT); FOR SELECT USING (user_id = auth.uid());
-- ── Seed data ────────────────────────────────────────────────── -- ── Seed data ──────────────────────────────────────────────────
INSERT INTO rutas (id, nombre, turno) VALUES INSERT INTO rutas (id, nombre, turno) VALUES