Keep your app's data in your own Supabase
In shortConnect Supabase in Backend → Cloud with your project's connection string. MonstarX counts your tables, rows and accounts, and when you click Move my app it copies everything into Supabase, checks every row arrived, points the app at it and rewrites the code. Your data then lives only in Supabase; Move back brings it home.
Every MonstarX app comes with its own database — where it keeps its information, like bookings, orders and sign-ups. If you would rather hold that information in your own Supabase project (a popular hosted Postgres database), MonstarX can move it there for you and change the app to use it.
An app keeps its data in one place at a time: MonstarX’s database or yours, never both. So connecting Supabase is a move, not a copy.
When should I use my own Supabase?
Section titled “When should I use my own Supabase?”Choose it when:
- Your company already runs on Supabase, or has a rule that customer data lives in its own account.
- You want to open the data directly in Supabase’s dashboard, SQL editor or reporting tools.
- You want to manage backups and access to the database yourself.
If none of these apply, MonstarX’s own database is the simpler choice: nothing to set up, nothing to pay for separately. See Your app’s database.
Before you start
Section titled “Before you start”- Create a new, empty Supabase project. MonstarX creates the tables itself, and refuses a project that already holds tables with the same names and rows in them.
- Keep your database password handy. You set it when you created the Supabase project.
- If the app keeps its data in Firestore (see Firebase), switch it back to the MonstarX database first.
How do I move my app’s data to Supabase?
Section titled “How do I move my app’s data to Supabase?”-
In Supabase, open your project and click Connect. Copy the Transaction pooler connection string, and put your database password in place of
[YOUR-PASSWORD]. -
In MonstarX, open your project and click Backend in the top bar, then Cloud.
-
Under Connectors, click Connect beside Supabase — or choose Supabase (Postgres) in Where this app keeps its data, which opens the same form.
-
Paste the connection string into Connection string. The other fields are optional:
- Project URL and Anon key — only if the app should also use Supabase’s own API or storage.
- Service role key — keep it secret. You can leave it empty: it is for moving sign-in or files to Supabase, which a move does not do yet.
-
Click Connect Supabase. MonstarX checks it can create tables there before it saves anything.
-
A card appears in the chat: Move this app’s data to Supabase, with what it found — for example “6 tables · 214 rows · 3 accounts · nothing changes until you say so”. It also says what stays where it is.
-
Click Move my app (or Not now to decide later).
The card then shows each step as it happens:
- Checking the connection
- Reading your app’s data
- Creating the tables in Supabase
- Copying the rows
- Checking everything arrived
- Pointing the app at Supabase
- Rewriting the app’s code
When it is done, the card says Your app now runs on Supabase, and the Database card in BackendCloud is labelled On Supabase.
What moves, and what stays with MonstarX?
Section titled “What moves, and what stays with MonstarX?”| What happens | |
|---|---|
| Tables and rows | Copied into Supabase, with their links, indexes and id counters. |
| Accounts | Move with your data, passwords included, and keep working. Sign-in itself stays the way the app does it today. |
| Uploaded files | Stay in MonstarX’s file storage. Every link to them keeps working. |
| The app’s code | MonstarX rewrites the parts that talk to the database for Postgres, in a build request it sends itself. |
| MonstarX’s old copy | Kept, untouched, so you can move back. |
Moving sign-in to Supabase Auth, or files to Supabase Storage, is not available yet.
Is my data safe during the move?
Section titled “Is my data safe during the move?”- Nothing changes until every row has arrived. MonstarX counts the rows on both sides before it switches the app over. If the counts differ — for example, someone used the app while the move ran — the move stops and your app is left exactly as it was.
- A failed or stopped move cleans up. It removes only the tables it created, and says so on its card. Click Stop on the card to stop it yourself.
- Your project waits. While the move runs, new requests wait in the queue, as they do during a build.
- Row-level security is on. Every table MonstarX creates in Supabase has row-level security switched on, so nobody can read or change the data through Supabase’s public API. The app reaches the data through its own private connection instead.
Can I move back to MonstarX’s database?
Section titled “Can I move back to MonstarX’s database?”Yes. Open BackendCloud and click Move back on the Database card, then confirm. MonstarX copies everything back into its own database, restores the column types the app started with, and rewrites the code again. Your Supabase project keeps its tables — nothing is deleted there.
Good to know
Section titled “Good to know”- You cannot disconnect Supabase while the app uses it. MonstarX refuses, because the app would be left with no database. Move back first.
- New keys must point at the same data. If you update the connection string, it has to reach a database that holds the app’s tables.
- Supabase or Railway, not both. To go from one to the other, move back to MonstarX’s database first. See Railway.
- Exported and published apps connect directly. The app talks to Supabase itself, in the preview and when published, so an exported copy works on its own.
Frequently asked questions
Section titled “Frequently asked questions”Will my users have to sign up again?
No. Their accounts and passwords move to Supabase with the rest of your data and keep working.
Does my data live in both places afterwards?
No. The app reads and writes only Supabase. MonstarX keeps its old copy untouched in case you move back, but the app no longer uses it.
Which connection string do I use?
In Supabase, click Connect and copy the Transaction pooler string, with your database password in place of [YOUR-PASSWORD].
Can I use a Supabase project that already has data?
Use an empty project. MonstarX refuses one that already holds tables with the app's table names and rows in them, so nothing of yours is overwritten.
Does the move cost anything?
Copying the data does not. The code rewrite afterwards is a normal build request, and Supabase bills your Supabase account on its own pricing.