Bird
Raised Fist0
Djangoframework~5 mins

makemigrations and migrate commands in Django - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the makemigrations command do in Django?
It creates new migration files by detecting changes in your models. These files describe how to update the database schema.
Click to reveal answer
beginner
What is the purpose of the migrate command in Django?
It applies the migration files to the database, updating the database schema to match your models.
Click to reveal answer
beginner
Why do you need to run makemigrations before migrate?
Because makemigrations creates the instructions for database changes, and migrate actually applies those changes to the database.
Click to reveal answer
beginner
If you add a new field to a Django model, what commands should you run to update the database?
First run python manage.py makemigrations to create migration files, then run python manage.py migrate to apply changes to the database.
Click to reveal answer
intermediate
What happens if you run migrate without running makemigrations after changing models?
No new migration files exist, so the database won't update. Your changes won't be applied until you create migrations first.
Click to reveal answer
Which command creates migration files in Django?
Arunserver
Bmigrate
Cmakemigrations
Dstartapp
What does the migrate command do?
ADeletes migration files
BCreates migration files
CStarts the Django server
DApplies migrations to the database
If you change a model but forget to run makemigrations, what happens when you run migrate?
ANo changes are applied
BDatabase updates correctly
CDjango crashes
DMigration files are created automatically
Which command should you run first after changing models?
Amigrate
Bmakemigrations
Crunserver
Dcollectstatic
What is the main reason Django uses migrations?
ATo keep the database schema in sync with models
BTo speed up the server
CTo create HTML pages
DTo manage user sessions
Explain the roles of makemigrations and migrate commands in Django.
Think about how code changes become database changes.
You got /4 concepts.
    Describe the steps you take after adding a new field to a Django model to update the database.
    Focus on the order of commands and their purpose.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the makemigrations command in Django?
      easy
      A. To delete old migration files
      B. To apply changes to the database
      C. To start the Django development server
      D. To create migration files that describe changes in models

      Solution

      1. Step 1: Understand the role of makemigrations

        This command generates files that describe changes made to Django models, like adding or removing fields.
      2. Step 2: Differentiate from migrate

        migrate applies those changes to the database, but makemigrations only creates the description files.
      3. Final Answer:

        To create migration files that describe changes in models -> Option D
      4. Quick Check:

        makemigrations creates files = A [OK]
      Hint: Remember: makemigrations creates files, migrate applies them [OK]
      Common Mistakes:
      • Confusing makemigrations with migrate
      • Thinking makemigrations changes the database directly
      • Assuming makemigrations starts the server
      2. Which of the following is the correct command to apply migrations to the database in Django?
      easy
      A. python manage.py makemigrations
      B. python manage.py migrate
      C. python manage.py runserver
      D. python manage.py makemigrate

      Solution

      1. Step 1: Identify the command to apply migrations

        The command python manage.py migrate applies migration files to update the database schema.
      2. Step 2: Check other options

        makemigrations creates migration files, runserver starts the server, and makemigrate is not a valid command.
      3. Final Answer:

        python manage.py migrate -> Option B
      4. Quick Check:

        Apply migrations = migrate = A [OK]
      Hint: Use migrate to apply changes, not makemigrations [OK]
      Common Mistakes:
      • Typing makemigrate instead of migrate
      • Using makemigrations to update the database
      • Confusing runserver with migration commands
      3. Given the following sequence of commands in a Django project:
      python manage.py makemigrations
      python manage.py migrate

      What will happen after running these commands?
      medium
      A. The database schema will be updated to match the current models
      B. The server will start running
      C. Migration files will be deleted
      D. The models will be reset to default

      Solution

      1. Step 1: Understand the effect of makemigrations

        This command creates migration files describing model changes.
      2. Step 2: Understand the effect of migrate

        This command applies those migration files to update the database schema accordingly.
      3. Final Answer:

        The database schema will be updated to match the current models -> Option A
      4. Quick Check:

        makemigrations + migrate = update DB schema = C [OK]
      Hint: makemigrations then migrate updates database schema [OK]
      Common Mistakes:
      • Thinking migrate starts the server
      • Believing migration files get deleted automatically
      • Assuming models reset after migrations
      4. You ran python manage.py migrate but got an error saying "No migrations to apply." What is the most likely cause?
      medium
      A. You forgot to run makemigrations to create migration files
      B. The database is corrupted
      C. You need to restart the Django server
      D. Your models have syntax errors

      Solution

      1. Step 1: Analyze the error message

        "No migrations to apply" means Django found no new migration files to run.
      2. Step 2: Identify the missing step

        If you did not run makemigrations, no migration files exist to apply.
      3. Final Answer:

        You forgot to run makemigrations to create migration files -> Option A
      4. Quick Check:

        No migrations found = forgot makemigrations = D [OK]
      Hint: Run makemigrations before migrate to create migration files [OK]
      Common Mistakes:
      • Restarting server instead of creating migrations
      • Assuming database corruption without checking migrations
      • Ignoring missing migration files
      5. You added a new field to a Django model but forgot to run makemigrations. Later, you run python manage.py migrate. What will happen?
      hard
      A. The new field will be added to the database automatically
      B. An error will occur because migration files are missing
      C. Nothing changes in the database schema
      D. Django will create migration files automatically and apply them

      Solution

      1. Step 1: Understand the role of makemigrations

        This command creates migration files describing model changes like new fields.
      2. Step 2: Effect of running migrate without new migration files

        If no migration files exist, migrate finds nothing to apply, so the database stays unchanged.
      3. Final Answer:

        Nothing changes in the database schema -> Option C
      4. Quick Check:

        No migration files = migrate does nothing = B [OK]
      Hint: Always run makemigrations after model changes before migrate [OK]
      Common Mistakes:
      • Expecting migrate to detect model changes automatically
      • Assuming migrate creates migration files
      • Thinking database updates without migration files
      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