Bird
Raised Fist0
Supabasecloud~5 mins

Rolling back migrations in Supabase - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does 'rolling back migrations' mean in Supabase?
It means undoing changes made to the database schema by reversing the last migration or a set of migrations.
Click to reveal answer
beginner
Which Supabase CLI command is used to roll back the last migration?
The command is supabase db migration down to undo the last migration specifically, or supabase db reset which resets the database including rolling back all migrations.
Click to reveal answer
intermediate
Why should you be careful when rolling back migrations in Supabase?
Because rolling back can delete or alter data and schema, potentially causing data loss if not backed up or tested properly.
Click to reveal answer
intermediate
What is a safe practice before rolling back migrations?
Always back up your database and test the rollback process in a development environment before applying it in production.
Click to reveal answer
intermediate
How does Supabase track migrations to enable rolling back?
Supabase stores migration history in a special table that records applied migrations, allowing it to know which ones to undo.
Click to reveal answer
Which command rolls back the last migration in Supabase?
Asupabase db migrate apply
Bsupabase db migration down
Csupabase db push
Dsupabase db reset --no-rollback
What is a risk of rolling back migrations without backup?
AIncreased storage space
BFaster database queries
CData loss or corruption
DAutomatic schema upgrade
Where does Supabase store migration history?
AIn a special migrations table
BIn the application code
CIn the cloud storage bucket
DIn the user session
What should you do before rolling back migrations in production?
ABack up the database
BDelete all data
CRestart the server
DIgnore warnings
Which command resets the database including rolling back all migrations?
Asupabase db push
Bsupabase db migrate undo
Csupabase db status
Dsupabase db reset
Explain the process and risks of rolling back migrations in Supabase.
Think about what happens to your database schema and data when you reverse migrations.
You got /4 concepts.
    Describe best practices to follow before and after rolling back migrations.
    Consider safety steps to avoid data loss and ensure smooth rollback.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the command supabase db rollback do?
      easy
      A. It creates a new migration file.
      B. It undoes the last applied database migration.
      C. It applies all pending migrations to the database.
      D. It deletes the entire database.

      Solution

      1. Step 1: Understand the purpose of rollback

        Rollback means undoing changes, so this command reverses migrations already applied.
      2. Step 2: Identify the command effect

        supabase db rollback specifically undoes the last migration applied to the database.
      3. Final Answer:

        It undoes the last applied database migration. -> Option B
      4. Quick Check:

        Rollback = undo last migration [OK]
      Hint: Rollback means undo last migration applied [OK]
      Common Mistakes:
      • Confusing rollback with applying migrations
      • Thinking rollback creates new migrations
      • Assuming rollback deletes the database
      2. Which of the following is the correct syntax to rollback the last 3 migrations using Supabase CLI?
      easy
      A. supabase db rollback --steps 3
      B. supabase db rollback -n 3
      C. supabase rollback db 3
      D. supabase db undo 3

      Solution

      1. Step 1: Recall the rollback command syntax

        The Supabase CLI uses --steps to specify how many migrations to rollback.
      2. Step 2: Match the correct option

        supabase db rollback --steps 3 uses supabase db rollback --steps 3, which is the correct syntax.
      3. Final Answer:

        supabase db rollback --steps 3 -> Option A
      4. Quick Check:

        Use --steps to rollback multiple migrations [OK]
      Hint: Use --steps to specify rollback count [OK]
      Common Mistakes:
      • Using incorrect flags like -n instead of --steps
      • Wrong command order like 'rollback db'
      • Using 'undo' instead of 'rollback'
      3. Given the following commands run in order:
      supabase db push
      supabase db push
      supabase db rollback --steps 1
      What is the state of migrations after these commands?
      medium
      A. All migrations are rolled back except the last one.
      B. No migrations are applied.
      C. Both migrations are still applied.
      D. Only the first migration is applied.

      Solution

      1. Step 1: Apply two migrations

        Running supabase db push twice applies two migrations in order.
      2. Step 2: Rollback one migration

        The rollback with --steps 1 undoes the last applied migration, leaving the first migration applied.
      3. Final Answer:

        Only the first migration is applied. -> Option D
      4. Quick Check:

        Rollback 1 step removes last migration applied [OK]
      Hint: Rollback with --steps 1 undoes last migration only [OK]
      Common Mistakes:
      • Assuming rollback removes all migrations
      • Thinking rollback does not affect applied migrations
      • Confusing push and rollback order
      4. You run supabase db rollback --steps 2 but get an error saying no migrations to rollback. What is the most likely cause?
      medium
      A. There are fewer than 2 migrations applied to rollback.
      B. The migrations folder is missing.
      C. The database connection is not configured.
      D. Rollback command requires a --force flag.

      Solution

      1. Step 1: Understand rollback error

        The error indicates no migrations to rollback, meaning none or fewer than requested are applied.
      2. Step 2: Identify cause

        If fewer than 2 migrations are applied, trying to rollback 2 steps causes this error.
      3. Final Answer:

        There are fewer than 2 migrations applied to rollback. -> Option A
      4. Quick Check:

        Rollback steps > applied migrations causes error [OK]
      Hint: Check applied migrations count before rollback steps [OK]
      Common Mistakes:
      • Assuming rollback always works without applied migrations
      • Thinking rollback needs --force flag
      • Ignoring database connection issues
      5. You have applied 5 migrations but want to rollback only the 3rd migration without affecting others. Which approach is best?
      hard
      A. Delete the 3rd migration file and run supabase db push.
      B. Use supabase db rollback --steps 3 to rollback only the 3rd migration.
      C. Rollback all migrations from the 3rd onwards, then reapply the ones after it.
      D. Directly edit the database to remove changes from the 3rd migration.

      Solution

      1. Step 1: Understand migration order

        Migrations apply in order; you cannot rollback a middle migration without undoing later ones first.
      2. Step 2: Plan rollback and reapply

        Rollback migrations after the 3rd (steps 2), then rollback the 3rd, then reapply the later migrations.
      3. Final Answer:

        Rollback all migrations from the 3rd onwards, then reapply the ones after it. -> Option C
      4. Quick Check:

        Rollback middle migration requires undoing later ones first [OK]
      Hint: Undo later migrations first, then rollback target migration [OK]
      Common Mistakes:
      • Trying to rollback a single middle migration directly
      • Deleting migration files without rollback
      • Editing database manually causing inconsistency
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard