Database Tables Setup
Setting up your database is essential for getting started with NativeLaunch. This guide explains how to configure your Supabase database quickly using ready-to-apply migrations — so you don’t have to manually recreate the schema or SQL queries.
How It Works
NativeLaunch uses Supabase as the backend. Instead of writing SQL by hand, you can instantly recreate the required tables, columns, policies, and triggers using the migrations included in the template.
NativeLaunch comes with pre-built profile, notes, and feedback screens that require specific database tables and security policies to function. This guide provides the necessary SQL setup that powers these features:
- The
profilestable that drives the Profile screen, including user avatars and profile information - The
notestable that demonstrates offline-first syncing of user notes - An
avatarsstorage bucket for profile images - Security policies and triggers to protect user data and automatically create profiles
Use Supabase Migrations
- Install Supabase CLI
brew install supabase/tap/supabaseAfter installation, verify it:
supabase --versionYou can also run Supabase CLI without installing it globally:
npx supabase@latest --helpGreat for quick commands like supabase init or supabase db push.
- Login to Supabase
supabase login- Link your Supabase project
Go to your Supabase Dashboard, find your project, and copy the Project ID (ref).
supabase link --project-ref your-project-idAfter running this command, Supabase CLI will prompt you for your database password.
You can find it in the Supabase Dashboard under Project Settings → Database → Connection string.
- Apply the migrations
Assuming your current working directory is the root of the NativeLaunch repo:
supabase db pushThis will recreate all required tables, columns, policies, roles, and triggers in your Supabase project.
In earlier versions of NativeLaunch you had to manually add the on_auth_user_created trigger.
Now it is included automatically in the migrations — no manual step required.

What Tables Are Created?
NativeLaunch schema includes:
auth.users— managed by Supabase Authprofiles— linked automatically via trigger toauth.users(a new profile row is created when a user signs up)notes— demo table to store note content per user
You don’t need to modify anything — it’s preconfigured to work with the rest of the app out of the box.