A database migration is a way to change the database structure, like adding or changing tables, so the app can work with new features or fixes.
Click to reveal answer
beginner
Why run migrations locally before remotely?
Running migrations locally helps catch errors early and ensures changes work before updating the live database, avoiding downtime or data loss.
Click to reveal answer
beginner
How do you run a migration locally with Supabase CLI?
Use the command supabase db migrate up to apply migrations to your local development database.
Click to reveal answer
intermediate
How do you apply migrations to a remote Supabase database?
Use supabase db migrate up or connect your CI/CD pipeline to run migrations on the remote database safely.
Click to reveal answer
intermediate
What should you do if a migration fails on the remote database?
Check error messages, fix the migration script locally, test again, then reapply. Always back up data before running migrations remotely.
Click to reveal answer
Which command applies migrations to your local Supabase database?
Asupabase db migrate up
Bsupabase db remote commit
Csupabase start
Dsupabase migrate run
✗ Incorrect
The command supabase db migrate up applies migrations locally.
Why is it important to run migrations locally first?
ATo speed up the internet
BTo avoid errors on the live database
CTo delete old data
DTo backup the remote database
✗ Incorrect
Running migrations locally helps catch errors before affecting the live database.
What is a safe practice before running migrations remotely?
AIgnoring errors
BDeleting all tables
CBacking up the database
DRunning migrations twice
✗ Incorrect
Backing up the database protects data if something goes wrong during migration.
Which tool helps automate running migrations on remote Supabase databases?
ABrowser
BText editor
CEmail client
DCI/CD pipeline
✗ Incorrect
CI/CD pipelines automate deployment tasks including running migrations remotely.
If a migration fails remotely, what is the first step?
ACheck error messages
BDelete the database
CIgnore the failure
DRun migrations locally again
✗ Incorrect
Checking error messages helps identify and fix the problem.
Explain the steps to run database migrations locally and then remotely using Supabase.
Think about testing first, then safely updating the live database.
You got /4 concepts.
Describe best practices to follow when running migrations on a remote database.
Focus on safety and reliability.
You got /4 concepts.
Practice
(1/5)
1. What is the main reason to run database migrations locally before running them remotely?
easy
A. To update the live database directly without testing
B. To test changes safely before applying them to the live database
C. To delete all existing data before migration
D. To backup the remote database automatically
Solution
Step 1: Understand migration purpose locally
Running migrations locally allows you to check if changes work without risk to live data.
Step 2: Understand migration purpose remotely
Running migrations remotely updates the live database after testing is successful.
Final Answer:
To test changes safely before applying them to the live database -> Option B
Quick Check:
Test locally first = Safe migration [OK]
Hint: Always test migrations locally before live update [OK]
Common Mistakes:
Running migrations directly on live without testing
Assuming local migrations update remote automatically
Thinking migrations delete all data by default
2. Which command correctly runs migrations on your local Supabase project?
easy
A. supabase db reset
B. supabase db push
C. supabase db migrate
D. supabase migration run
Solution
Step 1: Identify the correct Supabase CLI command
The command supabase db reset applies all migrations to the local database by resetting it.
Step 2: Check other options
supabase migration run and supabase db migrate are invalid; supabase db push updates the remote database.
Final Answer:
supabase db reset -> Option A
Quick Check:
Local migration command = supabase db reset [OK]
Hint: Use 'supabase db reset' to run and test local migrations [OK]
Common Mistakes:
Using remote commands like 'supabase db push' for local
Using incorrect commands like 'supabase migration run'
Trying to run migrations without Supabase CLI installed
3. Given this sequence of commands, what is the expected result?
supabase db push
supabase db remote commit
supabase db remote apply
medium
A. The commands will cause an error due to invalid syntax
B. Migrations are only applied locally, remote stays unchanged
C. Remote migrations are applied without local testing
D. Migrations are applied locally and then committed and applied remotely
Solution
Step 1: Analyze each command
supabase db push applies local schema changes to remote; supabase db remote commit generates a migration from remote schema differences; supabase db remote apply applies pending migrations on remote.
Step 2: Understand the flow
All commands target the remote database; no local application occurs in this sequence.
Final Answer:
Remote migrations are applied without local testing -> Option C
Quick Check:
db push + remote commit/apply = remote only [OK]
Hint: db push + remote commit/apply affects remote without local changes [OK]
Common Mistakes:
Thinking 'supabase db push' applies locally
Expecting local database changes from remote commands
Believing commands have invalid syntax
4. You ran supabase db reset locally but forgot to run supabase db remote apply. What issue will you face?
medium
A. Local database will reset to remote state
B. Remote database will automatically update
C. Migration files will be deleted
D. Local and remote databases will be out of sync
Solution
Step 1: Understand local reset effect
supabase db reset reapplies all migrations to the local database only.
Step 2: Understand remote apply necessity
Without supabase db remote apply, the remote database remains unchanged, causing out-of-sync databases.
Final Answer:
Local and remote databases will be out of sync -> Option D
Quick Check:
Missing remote apply = databases out of sync [OK]
Hint: Always run remote apply after local reset to sync [OK]
Common Mistakes:
Assuming remote updates automatically after local reset
Thinking local reset affects remote database
Believing migration files get deleted after reset
5. You want to update your live Supabase database with a new table but keep your local database unchanged for now. Which approach is correct?
hard
A. Run supabase db remote apply without running supabase db reset
B. Run supabase db push only
C. Run supabase db push then supabase db remote apply
D. Run supabase db reset locally then supabase db remote apply
Solution
Step 1: Understand local vs remote migration commands
supabase db reset affects local; supabase db remote apply applies pending migrations to remote only.
Step 2: Apply only remote changes
Create/edit migration file for new table, then run supabase db remote apply; skip local commands like supabase db reset.
Final Answer:
Run supabase db remote apply without running supabase db reset -> Option A
Quick Check:
Remote apply only = live DB updated, local unchanged [OK]
Hint: Use remote apply after creating migration file to update only remote [OK]
Common Mistakes:
Running local reset or push which updates local DB unnecessarily
Resetting local DB when not needed
Assuming remote apply requires local reset first
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.