Delete Data
Remove rows with a clear, fluent API. Deletes are consistent across adapters.
Prerequisite
Create a client with required dbSpec and an adapter factory (Runtime or Supabase).
Execution Rule
Writes execute immediately.
Use filters (e.g.,eq('id', ...)) to target rows. Returns{ data: null, error }.
Basics
1// Delete one user by id
2const { data, error } = await vibecode
3 .from('users')
4 .eq('id', 'u1')
5 .delete()Conditional Deletes
1// Delete all draft posts for a user
2await vibecode
3 .from('posts')
4 .eq('user_id', 'u1')
5 .eq('published', false)
6 .delete()
7
8// Membership delete
9await vibecode
10 .from('comments')
11 .in('id', ['c1', 'c2', 'c3'])
12 .delete()With Ordering / Limits (preconditions)
1// Delete only the 5 oldest unpublished posts
2await vibecode
3 .from('posts')
4 .eq('published', false)
5 .order('created_at', { ascending: true })
6 .limit(5)
7 .delete()Types & Validation
- Filter columns are validated against your Zod
dbSpec.schema. - Response envelope:
{ data: null, error }.
Adapter Notes
- RuntimeAdapter: in-memory delete; instant feedback for prototyping/tests.
- SupabaseAdapter: deletes rows in Postgres; ensure RLS policies allow deletes.