Храните данные приложения в своём Supabase
КраткоПодключите Supabase в разделе «Облачные сервисы → Облако» по строке подключения вашего проекта. MonstarX посчитает таблицы, строки и аккаунты, а когда вы нажмёте «Перенести моё приложение», скопирует всё в Supabase, проверит, что дошла каждая строка, переключит приложение на новую базу и перепишет код. После этого данные хранятся только в Supabase; кнопка «Вернуть данные» переносит их обратно.
У каждого приложения MonstarX есть своя база данных — там хранится его информация: записи, заказы, регистрации. Если вы предпочитаете держать эту информацию в своём проекте Supabase (популярная облачная база данных Postgres), MonstarX может перенести её туда и переделать приложение под новую базу.
Приложение хранит данные только в одном месте: в базе MonstarX или в вашей, но не в обеих сразу. Поэтому подключение Supabase — это перенос, а не копия.
Когда стоит использовать свой Supabase?
Заголовок раздела «Когда стоит использовать свой Supabase?»Выбирайте его, если:
- ваша компания уже работает на Supabase или по её правилам данные клиентов должны храниться в её собственном аккаунте;
- вы хотите открывать данные напрямую в панели Supabase, редакторе SQL или инструментах отчётности;
- вы хотите сами управлять резервными копиями и доступом к базе.
Если ничего из этого вам не подходит, проще остаться на собственной базе MonstarX: ничего не нужно настраивать и ни за что не нужно платить отдельно. См. База данных приложения.
Перед началом
Заголовок раздела «Перед началом»- Создайте новый пустой проект Supabase. MonstarX сам создаёт таблицы и не примет проект, где уже есть таблицы с такими же названиями и строками в них.
- Держите под рукой пароль базы данных. Вы задали его, когда создавали проект Supabase.
- Если приложение хранит данные в Firestore (см. Firebase), сначала верните его на базу MonstarX.
Как перенести данные приложения в Supabase?
Заголовок раздела «Как перенести данные приложения в Supabase?»-
В Supabase откройте свой проект и нажмите Connect. Скопируйте строку подключения Transaction pooler и замените
[YOUR-PASSWORD]паролем своей базы данных. -
В MonstarX откройте проект, нажмите Облачные сервисы на верхней панели, а затем Облако.
-
В списке Подключения нажмите Подключить рядом с Supabase — или выберите Supabase (Postgres) в блоке Где это приложение хранит свои данные: откроется та же форма.
-
Вставьте строку подключения в поле Строка подключения. Остальные поля необязательные:
- URL проекта и Ключ anon — только если приложение должно пользоваться ещё и API или хранилищем самого Supabase;
- Ключ service role — храните его в секрете. Поле можно оставить пустым: ключ нужен для переноса входа или файлов в Supabase, а этого перенос пока не делает.
-
Нажмите Подключить Supabase. Прежде чем что-либо сохранить, MonstarX проверит, что может создавать там таблицы.
-
В чате появится карточка Перенести данные этого приложения в Supabase с тем, что MonstarX нашёл, — например, «6 таблиц · 214 строк · 3 аккаунта · ничего не изменится без вашего согласия». На ней также сказано, что останется на своём месте.
-
Нажмите Перенести моё приложение (или Не сейчас, чтобы решить позже).
Затем карточка показывает каждый шаг по мере выполнения:
- Проверка соединения
- Чтение данных вашего приложения
- Создание таблиц в Supabase
- Копирование строк
- Проверка полноты переноса
- Переключение приложения на Supabase
- Изменение кода приложения
Когда всё будет готово, на карточке появится Ваше приложение теперь работает на Supabase, а у карточки База данных в разделе Облачные сервисыОблако — метка На Supabase.
Что переносится, а что остаётся у MonstarX?
Заголовок раздела «Что переносится, а что остаётся у MonstarX?»| Что происходит | |
|---|---|
| Таблицы и строки | Копируются в Supabase вместе со связями, индексами и счётчиками идентификаторов. |
| Аккаунты | Переносятся вместе с данными, включая пароли, и продолжают работать. Сам вход остаётся таким, как сейчас устроен в приложении. |
| Загруженные файлы | Остаются в хранилище файлов MonstarX. Все ссылки на них продолжают работать. |
| Код приложения | MonstarX переписывает под Postgres части, которые обращаются к базе данных, — в сборке, которую сам запускает. |
| Старая копия в MonstarX | Сохраняется нетронутой, чтобы можно было вернуться. |
Перенести вход в Supabase Auth или файлы в Supabase Storage пока нельзя.
Данные в безопасности во время переноса?
Заголовок раздела «Данные в безопасности во время переноса?»- Ничего не меняется, пока не перенесена каждая строка. MonstarX сверяет число строк с обеих сторон, прежде чем переключить приложение. Если числа расходятся — например, кто-то пользовался приложением во время переноса, — перенос останавливается, а приложение остаётся ровно таким, каким было.
- Неудачный или остановленный перенос убирает за собой. Он удаляет только созданные им таблицы и сообщает об этом на карточке. Чтобы остановить перенос самому, нажмите Остановить на карточке.
- Проект ждёт. Пока идёт перенос, новые запросы ждут в очереди — как во время сборки.
- Row-level security включена. Для каждой таблицы, которую MonstarX создаёт в Supabase, включена защита на уровне строк (row-level security), поэтому никто не может читать или менять данные через публичный API Supabase. Приложение обращается к данным через собственное закрытое подключение.
Можно ли вернуться на базу MonstarX?
Заголовок раздела «Можно ли вернуться на базу MonstarX?»Да. Откройте Облачные сервисыОблако, нажмите Вернуть данные на карточке База данных и подтвердите. MonstarX скопирует всё обратно в свою базу, восстановит исходные типы столбцов приложения и снова перепишет код. Таблицы в вашем проекте Supabase останутся — там ничего не удаляется.
Полезно знать
Заголовок раздела «Полезно знать»- Supabase нельзя отключить, пока приложение им пользуется. MonstarX не даст этого сделать, иначе приложение останется без базы данных. Сначала верните данные.
- Новые ключи должны вести к тем же данным. Если вы обновляете строку подключения, она должна указывать на базу, в которой есть таблицы приложения.
- Supabase или Railway, но не оба сразу. Чтобы перейти с одного на другой, сначала верните данные в базу MonstarX. См. Railway.
- Экспортированные и опубликованные приложения подключаются напрямую. Приложение само обращается к Supabase — и в предпросмотре, и после публикации, — поэтому экспортированная копия работает самостоятельно.
Вопросы и ответы
Заголовок раздела «Вопросы и ответы»Пользователям придётся регистрироваться заново?
Нет. Их аккаунты и пароли переносятся в Supabase вместе с остальными данными и продолжают работать.
Данные после переноса будут храниться в обоих местах?
Нет. Приложение читает и записывает только Supabase. MonstarX хранит нетронутую старую копию на случай, если вы захотите вернуться, но приложение ею больше не пользуется.
Какую строку подключения использовать?
В Supabase нажмите Connect и скопируйте строку Transaction pooler, заменив [YOUR-PASSWORD] паролем своей базы данных.
Можно ли использовать проект Supabase, где уже есть данные?
Используйте пустой проект. MonstarX не примет проект, где уже есть таблицы с такими же названиями, как у приложения, и строками в них, — так ваши данные не будут перезаписаны.
Перенос платный?
Само копирование данных бесплатно. Последующая переделка кода — обычная сборка, а Supabase выставляет счёт вашему аккаунту Supabase по своим тарифам.