Python技术迷

Django教程-数据库迁移

整理:python架构师
迁移是将我们对模型所做的更改应用到数据库模式中的一种方法。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

Image

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

专属福利 

👉点击领取:最全Python资料合集

迁移

*// 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
Image
除了创建迁移之外,我们还可以看到在应用的迁移后面执行原始 SQL 查询。sqlmigrate应用程序名称迁移名称用于获取原始 SQL 查询。看一个例子。
$ python3 manage.py migrate

Image

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

Image

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

Image

Image
 1
Image
热门推荐

Image