Supabase::Query
Inherits Reference < Object
Constructors
Instance methods
Executes a DELETE query
Returns response body as String
Raises error if request fails.
Example:
response = client
.from("users")
.eq("id", "1")
.delete
Bulk delete
response = client
.from("users")
.in_("id", [1, 2])
.delete()
.execute
puts response
Adds equality filter: column = value
response = client
.from("users")
.select("*")
.eq("role", "admin")
.execute
puts response
Executes the current query on Supabase based on the operation type: SELECT, INSERT, UPDATE, UPSERT, or DELETE.
Returns the response body as a String.
Raises an error if the request fails.
Adds greater than filter: column > value
response = client
.from("users")
.select("*")
.gt("age", "18")
.execute
puts response
Adds greater than or equal filter: column >= value
response = client
.from("users")
.select("*")
.gte("score", "70")
.execute
puts response
Adds ILIKE filter (case-insensitive LIKE)
response = client
.from("articles")
.select("*")
.ilike("title", "%crystal%")
.execute
puts response
Adds IN filter: column IN (values)
response = client
.from("orders")
.select("*")
.in_("status", ["pending", "shipped"])
.execute
puts response
Executes an INSERT query with the given JSON payload
Returns response body as String
Raises error if request fails.
Example:
payload = %({"name": "Alice", "age": 30})
response = client
.from("users")
.insert(payload)
.execute
puts response
Bulk insert
payload = %([
{"id": 1, "name": "Bob"},
{"id": 2, "name": "Charlie"}
])
response = client
.from("users")
.insert(payload)
.execute
puts response
Adds IS NULL or IS NOT NULL filter
response = client
.from("profiles")
.select("*")
.is_null("bio", true)
.execute()
puts response
response = client
.from("products")
.select("*")
.lte("price", "500")
.execute
puts response
Limits number of returned rows
response = client
.from("logs")
.select("*")
.limit(10)
.execute
puts response
Adds less than filter: column < value
response = client
.from("products")
.select("*")
.lt("price", "100")
.execute
puts response
Adds less than or equal filter: column <= value
response = client
.from("products")
.select("*")
.lte("price", "500")
.execute
puts response
Adds inequality filter: column != value
response = client
.from("users")
.select("*")
.neq("status", "inactive")
.execute
puts response
Adds NOT operator for custom filters
response = client
.from("users")
.select("*")
.not("email", "like", "%@test.com")
.execute
puts response
Skips number of rows (offset)
response = client
.from("logs")
.select("*")
.offset(20)
.limit(10)
.execute
puts response
Sorts by column ascending
response = client
.from("tasks")
.select("*")
.order_asc("created_at")
.execute
puts response
Sorts by column descending
response = client
.from("tasks")
.select("*")
.order_desc("created_at")
.execute
puts response
Executes a SELECT query
Returns response body as String
Raises error if request fails.
Example:
response = client
.from("users")
.select("*")
.eq("active", "true")
.execute
puts response
Executes an UPDATE query with the given JSON payload
Returns response body as String
Raises error if request fails.
Example:
payload = %({"name": "Charlie"})
response = client
.from("users")
.eq("id", "1")
.update(payload)
.execute
puts response
Executes an UPSERT query with conflict resolution on specified columns
Returns response body as String
Raises error if request fails.
Example:
payload = %({"id": 1, "name": "Bob"})
response = client
.from("users")
.upsert(payload, ["id"])
.execute
puts response
Bulk upsert
payload = %([
{"id": 1, "name": "Bob"},
{"id": 2, "name": "Charlie"}
])
response = client
.from("users")
.upsert(payload, ["id"])
.execute
puts response