Environment management helps keep your development, testing, and production setups separate and organized. This way, changes in one place don't break things in another.
Environment management in Supabase
supabase projects create --name <project-name> --org <organization-id>
Name projects to indicate the environment like myapp-development, myapp-staging, or myapp-production.
Each environment has its own database and API keys to keep data separate.
supabase projects create --name myapp-dev --org 12345supabase projects create --name myapp-prod --org 12345supabase projects listThis example creates two environments: development and production. It sets different API keys for each to keep them separate and secure.
supabase projects create --name myapp-dev --org 12345 supabase projects create --name myapp-prod --org 12345 supabase secrets set API_KEY=devkey123 --project myapp-dev supabase secrets set API_KEY=prodkey456 --project myapp-prod
Always keep your production environment secure and avoid using test data there.
Use environment variables to store sensitive information like API keys.
Regularly back up your production data to prevent loss.
Environment management separates your app setups for safety and organization.
Use different environments for development, testing, and production.
Keep secrets and data isolated per environment to avoid mistakes.
Practice
Solution
Step 1: Understand environment roles
Different environments like development, testing, and production keep setups separate.Step 2: Identify the main benefit
This separation helps keep data safe and organized, avoiding mistakes.Final Answer:
To separate app setups for safety and organization -> Option AQuick Check:
Environment separation = safety and organization [OK]
- Confusing environment with database speed
- Thinking environment reduces project size
- Believing environment allows simultaneous data edits
Solution
Step 1: Recall Supabase CLI syntax
The correct command to set environment variables uses 'env set' followed by key=value.Step 2: Match the correct syntax
supabase env set API_KEY=12345 matches this pattern exactly: 'supabase env set API_KEY=12345'.Final Answer:
supabase env set API_KEY=12345 -> Option DQuick Check:
Set env variable = 'env set key=value' [OK]
- Using 'set-env' instead of 'env set'
- Using 'env add' which is invalid
- Using 'env create' which is not a command
supabase env list supabase env set API_URL=https://dev.api.com supabase env get API_URL
What will be the output of the last command?
Solution
Step 1: Understand the commands
The first command lists environment variables, the second sets API_URL to 'https://dev.api.com'.Step 2: Check the get command output
The last command retrieves the value of API_URL, which was set just before.Final Answer:
https://dev.api.com -> Option BQuick Check:
Get env variable = last set value [OK]
- Expecting default or production URL instead
- Thinking the variable is not found
- Assuming command syntax error
Solution
Step 1: Identify cause of empty env variable
An empty environment variable usually means it was never set or loaded.Step 2: Match cause to options
Forgetting to set it with 'supabase env set' is the most direct cause.Final Answer:
You forgot to set the variable usingsupabase env set-> Option CQuick Check:
Empty env variable = not set [OK]
- Blaming unrelated issues like internet or region
- Confusing env variables with database passwords
- Assuming deployment region affects env variables
Solution
Step 1: Understand environment separation needs
Complete separation means no shared resources or data between environments.Step 2: Evaluate options for separation
Creating two separate projects ensures full isolation of data, secrets, and settings.Step 3: Identify drawbacks of other options
Switching variables manually or sharing database risks mistakes and leaks.Final Answer:
Create two separate Supabase projects, one for production and one for development -> Option AQuick Check:
Separate projects = full environment isolation [OK]
- Relying on manual variable switching
- Sharing database tables between environments
- Using one file with commented variables
Ready to prove it?
Pass the test and this pattern moves unknown
