База даних

Вузол «База даних» читає й пише рядки у вашій базі 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 секунд.