迁移是将我们对模型所做的更改应用到数据库模式中的一种方法。Django 在每个模型的迁移文件夹中创建一个迁移文件来创建表模式,并且每个表都映射到创建迁移的模型。

Django 提供了用于执行迁移相关任务的各种命令。创建模型后,我们可以使用这些命令。

  • makemigrations :它用于创建包含模型表模式代码的迁移文件。
  • migrate :它根据迁移文件中定义的架构创建表。
  • sqlmigrate :用于显示所应用迁移的原始 SQL 查询。
  • showmigrations :它列出了所有迁移及其状态。

假设我们有一个如下所示的模型并包含以下属性。

模型

//模型.py

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  

1.png

此迁移文件包含创建迁移类的代码,其中包含员工表的名称和字段。

迁移

*// 0001_initial.py*

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  

2.png

除了创建迁移之外,我们还可以看到在应用的迁移后面执行原始 SQL 查询。sqlmigrate应用程序名称迁移名称用于获取原始 SQL 查询。看一个例子。

$ python3 manage.py migrate  

3.png

showmigrations 命令用于显示已应用的迁移。请参阅示例。

如果未提供应用程序名称,则会显示应用于该项目的所有迁移。

$ python3 manage.py showmigrations  

4.png

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

$ python3 manage.py showmigrations myapp 

5.png

标签: django语言, django教程, django技术, django学习, django学习教程, django下载, django开发, django入门教程, django进阶教程, django高级教程, django面试题, django笔试题, django编程思想