Django 数据库迁移

2024 年 8 月 29 日 | 阅读 2 分钟

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

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

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

假设我们有如下模型,包含以下属性。

模型

//models.py

要为此模型创建迁移,请使用以下命令。 它将在 migration 文件夹中创建一个迁移文件。

Django makemigrations

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

迁移

// 0001_initial.py

创建迁移后,对其进行迁移,以便它永久反映数据库。 migrate 命令如下。

Django migrate

除了创建迁移,我们还可以看到在应用迁移背后执行的原始 SQL 查询。 **sqlmigrate app-name migration-name** 用于获取原始 SQL 查询。 见例。

Django migrate 1

showmigrations 命令用于显示应用的迁移。 见例。

如果未提供 app-name,它将显示应用于项目的所有迁移。

Django showmigrations

我们可以通过指定 app-name 来获取特定于应用程序的迁移,请参见示例。

Django showmigrations myapp
下一个主题Django 中间件