迁移是将我们对模型所做的更改应用到数据库模式中的一种方法。Django 在每个模型的迁移文件夹中创建一个迁移文件来创建表模式,并且每个表都映射到创建迁移的模型。Django 提供了用于执行迁移相关任务的各种命令。创建模型后,我们可以使用这些命令。- makemigrations :它用于创建包含模型表模式代码的迁移文件。
- migrate :它根据迁移文件中定义的架构创建表。
- sqlmigrate :用于显示所应用迁移的原始 SQL 查询。
- showmigrations :它列出了所有迁移及其状态。
模型
from django.db import models class Employee(models.Model): eid = models.CharField(max_length=20) ename = models.CharField(max_length=100) econtact = models.CharField(max_length=15) class Meta: db_table = "employee"
要为此模型创建迁移,请使用以下命令。它将在迁移文件夹内创建一个迁移文件。$ python3 manage.py makemigrations

此迁移文件包含创建迁移类的代码,其中包含员工表的名称和字段。专属福利
迁移
from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Employee', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('eid', models.CharField(max_length=20)), ('ename', models.CharField(max_length=100)), ('econtact', models.CharField(max_length=15)), ], options={ 'db_table': 'employee', }, ), ]
创建迁移后,对其进行迁移,以便它永久反映数据库。迁移命令如下。$ python3 manage.py migrate
除了创建迁移之外,我们还可以看到在应用的迁移后面执行原始 SQL 查询。sqlmigrate应用程序名称迁移名称用于获取原始 SQL 查询。看一个例子。$ python3 manage.py migrate

showmigrations 命令用于显示已应用的迁移。请参阅示例。如果未提供应用程序名称,则会显示应用于该项目的所有迁移。$ python3 manage.py showmigrations

我们可以通过指定应用程序名称来获取特定于应用程序的迁移,请参阅示例。$ python3 manage.py showmigrations myapp

