Перейти к основному содержимому

Настройка базы в Studio

Studio — веб-интерфейс базы Supabase. Он открывается кнопкой «Открыть Studio» в карточке базы (раздел «Supabase» панели) или на вкладке «База данных» проекта T1000. Studio запускается по требованию: первый запуск занимает до минуты, при простое он гасится, данные и настройки от этого не зависят.

Браузер запросит логин и пароль Studio — они показаны в карточке базы с копированием в один клик. Это доступ администратора: всё, что делается в Studio, делается от имени владельца базы.

Таблицы и SQL​

  • Table Editor — создание таблиц, колонок, связей и политик RLS, просмотр и правка строк.
  • SQL Editor — произвольные запросы. Сохранённые запросы (snippets) хранятся на стороне платформы и не пропадают между запусками Studio.
  • Database → Roles, Extensions, Functions, Triggers — как в обычном Supabase. Расширений pg_cron и pg_net нет: их заменяют расписания платформы.

:::caution Изменения схемы необратимы Правки схемы и данных применяются сразу и не откатываются вместе с кодом проекта T1000. «Удалить таблицу» удаляет и её строки. :::

Вход пользователей (Authentication)​

Раздел Authentication показывает пользователей, позволяет приглашать, удалять и сбрасывать им пароль. Настройки входа — в Authentication → Settings:

  • URL Configuration. Site URL — адрес сайта, куда возвращаются ссылки из писем (подтверждение, восстановление пароля). По умолчанию это адрес опубликованного приложения; если сайт живёт на своём домене, укажите его. Redirect URLs — список адресов, на которые разрешено возвращать пользователя после входа. Список заменяет платформенный целиком; шаблон поддомена (https://*.example.com/**) допустим, «любой хост» (*) — нет: по этому списку решается, куда отдать ссылку с одноразовым токеном.
  • Providers → Email. Вход по e-mail и паролю; тумблер Confirm email требует подтверждения адреса при регистрации. Выключить автоподтверждение можно только при настроенном отправителе писем — иначе регистрация сломалась бы молча. Там же — срок жизни и длина одноразового кода, минимальная длина пароля и требования к его символам.
  • Rate Limits. Сколько писем, кодов и обновлений токена в час разрешено.

Письма​

Письма о подтверждении адреса, восстановлении пароля, приглашении, magic link и смене e-mail отправляет платформа.

  • Шаблоны и темы — Authentication → Emails. Каждый шаблон редактируется как HTML с подстановками Supabase ({{ .ConfirmationURL }}, {{ .Token }} и другие); правка применяется без перезапуска. Кнопка сброса возвращает платформенный шаблон на русском и английском.
  • Свой отправитель — Authentication → SMTP Settings. Укажите хост, порт, логин, пароль и имя отправителя вашего почтового сервера, и письма пойдут от вашего домена. Пароль после сохранения показывается маской. Пустой хост выключает свой SMTP и возвращает платформенного отправителя.
  • Частота — Minimum interval between emails и лимит писем в час защищают от перебора и спама; значения задаются в той же форме.

Файлы (Storage)​

Раздел Storage — бакеты и файлы приложения: создание бакетов, загрузка, публичный или закрытый доступ через политики. Файлы хранятся в объектном хранилище TatNet и считаются в предел «Файлы» уровня базы (см. уровни и пределы).

Edge Functions​

Раздел Edge Functions — серверные функции на Deno (Deno.serve), доступные по адресу https://<ref>.supa.tatnet.cloud/functions/v1/<имя>. Из Studio функцию можно создать, отредактировать и развернуть; деплой ждёт окончания сборки. Secrets в том же разделе — переменные окружения функций. Под капотом функции работают на serverless-платформе TatNet.

:::info Только на Pro Edge Functions доступны у баз уровня Pro — независимо от тарифа приложений. На Free Studio ответит на деплой новой функции «Edge Functions доступны на уровне Pro». Функции, созданные до 26 сентября 2026 года, продолжают работать и на Free. Функции, созданные на Pro, при переходе базы на Free приостанавливаются (код и секреты сохраняются) и запускаются снова, когда база вернётся на Pro. :::

Расписания (cron)​

Вместо pg_cron у базы есть совместимая с ним поверхность в схеме cron:

-- каждую ночь в 03:00 чистить старые сессии
select cron.schedule('cleanup', '0 3 * * *', $$delete from sessions where expires_at < now()$$);

-- каждые 5 минут дёргать edge-функцию (замена pg_net)
select cron.schedule('digest', '*/5 * * * *', $$select cron.invoke_function('send-digest', '{}'::jsonb)$$);

select * from cron.job; -- реестр
select * from cron.job_run_details; -- история запусков
select cron.unschedule('cleanup');

Задачи исполняет платформа от имени владельца базы; предел одной задачи — 60 секунд. Свежесозданная задача впервые срабатывает по расписанию, а не в момент создания. pg_net недоступен: HTTP-вызовы делайте через cron.invoke_function, а не net.http_post.

Ключи и подключение​

Project Settings → API — URL, ключ anon (публичный, для клиента) и service_role (секретный, только для сервера). Доступ к данным с anon ограничивают политики RLS: без них таблица либо закрыта, либо открыта всем.

:::info Что не настраивается в Studio Уровень базы (Free / Pro), пауза и удаление — в карточке базы в панели TatNet, не в Studio. Прямого подключения postgres:// к базе нет: доступ идёт через REST, Auth, Storage, Realtime и Studio. :::