База даних
Вузол «База даних» читає й пише рядки у вашій базі Supabase. Дані лишаються у вас: ми лише робимо запити.
Підключення
Профіль → «База даних». Потрібні дві речі з Supabase (Settings → API):
- Project URL — на кшталт
https://abcdefgh.supabase.co - Ключ —
service_roleобходить row level security,anonне обходить
Поруч є перевірка: вкажіть таблицю, і ми прочитаємо з неї один рядок, щоб переконатися, що URL, ключ і назва таблиці правильні. Одне підключення на користувача, ключ зберігається на нашому боці й у інтерфейсі показується лише кількома символами.
Операції
| Операція | Що робить |
|---|---|
select | читає рядки, з фільтрами, сортуванням і лімітом |
insert | додає рядок або масив рядків |
update | змінює рядки, які підходять під фільтр |
upsert | додає або оновлює за стовпцем дубліката |
delete | видаляє рядки, які підходять під фільтр |
Фільтри
Фільтри — це JSON зі стовпця й виразу PostgREST:
{"id": "eq.{{outputs.incoming.body.id}}", "total": "gte.100"}
Оператори: eq, neq, gt, gte, lt, lte, like, ilike, in, is.
updateіdeleteбез фільтра відхиляються — інакше одна помилка в шаблоні стерла б усю таблицю. Запит навіть не піде в мережу.
Рядки
Для insert, upsert і update поле «Рядки» — це JSON:
{"title": "{{outputs.incoming.body.title}}", "paid": true}
Можна передати масив — тоді вставиться кілька рядків за один запит.
Що на виході
rows — масив рядків, count — скільки всього підійшло, first — перший рядок або null. Найчастіше потрібен саме first:
{{ outputs.save_order.first.id }}
Ліміти
select віддає не більше 1000 рядків за раз, типово 100 — для більшого використовуйте offset і цикл. Запит чекає на базу не довше 20 секунд.