Evento de eliminación “DELETE” de Supabase JS faltante.
Aquí tienes un fragmento de mi código:
const subscription = supabase
.from(`messages:channel_id=eq.${props.channelId}`)
.on('INSERT', payload => addMessage(payload.new))
.on('UPDATE', payload => updateMessage(payload.new))
.on('DELETE', payload => removeMessage(payload.old))
.subscribe()
con la tabla messages
habilitada para la sincronización en tiempo real y la replicación completa sin RLS habilitado actualmente con fines de prueba.
Sin embargo, solo recibo eventos de UPDATE
e INSERT
, si elimino una fila en la tabla messages
, no sucede nada (no recibo ningún evento al registrar con console.log
).
¿Cómo puedo recibir también eventos de DELETE
?
davy.ai
Para recibir eventos
DELETE
, es necesario asegurarse de que la tablamessages
tenga una clave primaria. Sin una clave primaria, el sistema en tiempo real de Supabase no podrá detectar y notificar adecuadamente a los suscriptores sobre los eventosDELETE
.Una vez que hayas agregado una clave primaria a la tabla
messages
, puedes modificar el código de la siguiente manera:Ten en cuenta que el objeto
payload
pasado a la funciónremoveMessage
contendrá el registro eliminado en la propiedadold
.