Bird
Raised Fist0
Ruby on Railsframework~5 mins

Running and rolling back migrations in Ruby on Rails - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What command runs all pending migrations in Rails?
Use rails db:migrate to run all migrations that have not yet been applied to the database.
Click to reveal answer
beginner
How do you rollback the last migration in Rails?
Use rails db:rollback to undo the last migration that was run.
Click to reveal answer
beginner
What does rails db:migrate:status show?
It shows a list of all migrations and whether each one has been applied (up) or not (down).
Click to reveal answer
intermediate
How can you rollback multiple migrations at once?
Use rails db:rollback STEP=n where n is the number of migrations to undo.
Click to reveal answer
intermediate
What is the difference between rails db:rollback and rails db:migrate:down VERSION=xxxx?
rails db:rollback undoes the last migration by default, while rails db:migrate:down VERSION=xxxx rolls back a specific migration by its version number.
Click to reveal answer
Which command runs all pending migrations in Rails?
Arails db:migrate
Brails db:rollback
Crails db:migrate:status
Drails db:seed
How do you undo the last migration in Rails?
Arails db:migrate
Brails db:reset
Crails db:rollback
Drails db:seed
What does rails db:migrate:status display?
ACurrent Rails version
BDatabase schema version
CList of seeds applied
DList of migrations and their applied status
How to rollback the last 3 migrations?
Arails db:rollback STEP=3
Brails db:migrate STEP=3
Crails db:rollback 3
Drails db:migrate:down STEP=3
Which command rolls back a specific migration by version?
Arails db:rollback STEP=1
Brails db:migrate:down VERSION=xxxx
Crails db:migrate:up VERSION=xxxx
Drails db:reset
Explain how to run migrations and then undo the last migration in Rails.
Think about commands to apply changes and then reverse the last change.
You got /4 concepts.
    Describe how to check migration status and rollback multiple migrations in Rails.
    Consider commands that show migration states and undo several steps.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does running a migration in Rails do?
      easy
      A. Applies changes to the database schema step-by-step
      B. Deletes the entire database
      C. Creates a backup of the database
      D. Restarts the Rails server

      Solution

      1. Step 1: Understand migration purpose

        Migrations are designed to change the database schema in a controlled way.
      2. Step 2: Identify what running migration does

        Running a migration applies these schema changes step-by-step to the database.
      3. Final Answer:

        Applies changes to the database schema step-by-step -> Option A
      4. Quick Check:

        Running migration = apply schema changes [OK]
      Hint: Running migration updates database schema stepwise [OK]
      Common Mistakes:
      • Thinking it deletes the database
      • Confusing migration with backup
      • Assuming it restarts the server
      2. Which command correctly rolls back the last migration in Rails?
      easy
      A. rails db:reset
      B. rails db:rollback
      C. rails db:migrate:down
      D. rails db:rollback STEP=2

      Solution

      1. Step 1: Recall rollback command syntax

        The basic command to undo the last migration is rails db:rollback.
      2. Step 2: Analyze other options

        rails db:migrate:down requires specifying a version, rails db:reset resets the whole database, and rails db:rollback STEP=2 rolls back two steps, not one.
      3. Final Answer:

        rails db:rollback -> Option B
      4. Quick Check:

        Rollback last migration = rails db:rollback [OK]
      Hint: Rollback last migration uses rails db:rollback [OK]
      Common Mistakes:
      • Using db:reset which resets entire DB
      • Using rollback with STEP=2 to undo one migration
      • Confusing migrate:down without version
      3. Given these commands run in order:
      rails db:migrate
      rails db:migrate
      rails db:rollback STEP=2
      What is the state of the database migrations?
      medium
      A. Only the first migration is applied
      B. All migrations are applied
      C. No migrations are applied
      D. Only the last migration is applied

      Solution

      1. Step 1: Understand the commands run

        Two migrations are applied by running rails db:migrate twice, then rollback with STEP=2 undoes both.
      2. Step 2: Determine final migration state

        Rolling back two steps removes both migrations, so no migrations remain applied.
      3. Final Answer:

        No migrations are applied -> Option C
      4. Quick Check:

        Rollback STEP=2 undoes two migrations [OK]
      Hint: Rollback STEP=2 undoes last two migrations [OK]
      Common Mistakes:
      • Assuming rollback STEP=2 only undoes one migration
      • Thinking migrations remain applied after rollback
      • Confusing migrate command effects
      4. You run rails db:rollback STEP=3 but get an error saying there are not enough migrations to rollback. What is the likely cause?
      medium
      A. The STEP option is not supported
      B. Rollback only works with STEP=1
      C. You need to restart the Rails server first
      D. There are fewer than 3 migrations applied

      Solution

      1. Step 1: Understand rollback STEP behavior

        Rollback with STEP=n tries to undo n migrations if they exist.
      2. Step 2: Analyze error cause

        If fewer than 3 migrations are applied, rollback STEP=3 fails because it can't undo more than exist.
      3. Final Answer:

        There are fewer than 3 migrations applied -> Option D
      4. Quick Check:

        Rollback STEP=n needs at least n migrations applied [OK]
      Hint: Rollback STEP=n requires n migrations applied [OK]
      Common Mistakes:
      • Thinking STEP option is unsupported
      • Believing server restart fixes rollback errors
      • Assuming rollback only works with STEP=1
      5. You have applied 5 migrations. You want to undo the last 3 migrations and then reapply them one by one to test changes. Which sequence of commands achieves this?
      hard
      A. rails db:rollback STEP=3, then rails db:migrate three times
      B. rails db:rollback STEP=3, then rails db:migrate once
      C. rails db:migrate:reset, then rails db:migrate
      D. rails db:rollback, then rails db:migrate STEP=3

      Solution

      1. Step 1: Undo last 3 migrations

        Use rails db:rollback STEP=3 to undo the last three migrations at once.
      2. Step 2: Reapply migrations one by one

        Run rails db:migrate three times to apply each migration individually.
      3. Final Answer:

        rails db:rollback STEP=3, then rails db:migrate three times -> Option A
      4. Quick Check:

        Rollback STEP=3 + migrate x3 reapplies migrations [OK]
      Hint: Rollback STEP=3 then migrate repeatedly reapplies changes [OK]
      Common Mistakes:
      • Using migrate once after rollback STEP=3
      • Resetting database instead of rolling back
      • Trying migrate with STEP option (not valid)
      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