Open In App

Django manage.py migrate command | Python

Improve
Improve
Like Article
Like
Save
Share
Report

According to documentation, Migrations are Django’s way of propagating changes you make to your models (adding a field, deleting a model, etc.) into your database schema. They’re designed to be mostly automatic, but you’ll need to know when to make migrations when to run them, and the common problems you might run into.

migrate is run through the following command for a Django project.

 Python manage.py migrate 

Django python manage.py migrate command

migrate executes those SQL commands in the database file. So after executing migrate all the tables of your installed apps are created in your database file.

You can confirm this by installing SQLite browser and opening db.sqlite3 you can see all the tables appears in the database file after executing migrate command.

Database-Django-geeksforgeeks-migrate-command

For example, if we make a model class-




from django.db import models
  
class Person(models.Model):
    first_name = models.CharField(max_length = 30)
    last_name = models.CharField(max_length = 30)


The corresponding sql command after using makemigrations will be

CREATE TABLE myapp_person (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
);

and using above command, table will be created in the database when we use migrate.
Migrate command is covered in next article.
and now form terminal running following command will create table for this model in your database

 Python manage.py migrate

Now if we check our database, a table with name geeks_geeksmodel is created,

geeksforgeeks-migrate-command-example


Last Updated : 26 Sep, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads