本文概述
- 模型
- 移居
【Django数据库迁移】Django提供了用于执行与迁移相关的任务的各种命令。创建模型后, 我们可以使用这些命令。
- makemigrations:用于创建一个迁移文件, 该文件包含模型的表模式的代码。
- migrate:它根据迁移文件中定义的架构创建表。
- sqlmigrate:用于显示所应用迁移的原始SQL查询。
- showmigrations:列出所有迁移及其状态。
模型 //models.py
from django.db import modelsclass 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
此迁移文件包含创建迁移类的代码, 其中包含雇员表的名称和字段。
移居 // 0001_initial.py
from django.db import migrations, modelsclass Migration(migrations.Migration):initial = Truedependencies = []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', }, ), ]
创建迁移后, 对其进行迁移, 以使其永久反映数据库。下面给出了migration命令。
$ python3 manage.py migrate
除了创建迁移之外, 我们还可以看到原始SQL查询在应用的迁移后面执行。 sqlmigrate应用程序名称migration-name用于获取原始SQL查询。看一个例子。
$ python3 manage.py migrate
showmigrations命令用于显示已应用的迁移。参见示例。
如果未提供app-name, 则显示所有应用于项目的迁移。
$ python3 manage.py showmigrations
通过指定应用程序名称, 我们可以获得特定于应用程序的迁移, 请参见示例。
$ python3 manage.py showmigrations myapp
推荐阅读
- Django管理员
- Django数据库连接
- 使用Django创建CSV
- Django CRUD(创建读取更新删除)示例
- Django Cookie使用
- Django应用程序
- 使用Apache Web服务器进行Django配置
- 带有Bootstrap的Django
- Django管理界面