Django4全栈进阶之路6 makemigrations和migrate迁移

发布时间 2023-04-23 20:26:40作者: 城南城南

Django 4 中使用数据迁移(migration)来管理数据库结构的变化。数据迁移可以创建、修改和删除数据库表、字段、索引等对象,以及填充初始数据。

下面是使用数据迁移的基本步骤:

1、在 app 的 models.py 中定义数据库模型。

2、在 app 的根目录下执行以下命令创建迁移:

python manage.py makemigrations

这个命令会自动扫描所有 app 中的 models.py 文件,并根据模型定义生成相应的迁移文件,保存在 app 的 migrations 目录下。

3、在 app 的根目录下执行以下命令执行迁移:

python manage.py migrate

这个命令会将所有未应用的迁移文件应用到数据库中,即创建、修改或删除数据库表、字段、索引等对象。

在执行迁移命令时,可以通过以下命令查看当前数据库中已应用的迁移:

python manage.py showmigrations

如果需要撤销某个迁移,可以使用以下命令:

python manage.py migrate <app_name> <migration_name>

其中,<app_name> 是 app 的名称,<migration_name> 是迁移文件的名称,不需要包括 .py 后缀。这个命令会将指定的迁移文件撤销掉,并回滚数据库中的相关操作。

需要注意的是,执行数据迁移前,需要先进行数据库的配置和初始化,例如在 settings.py 文件中指定数据库连接参数,创建数据库等。在使用数据库迁移时,还需要注意以下几点:

  • 尽量不要手动修改数据库表结构或数据,而是通过数据迁移来管理数据库变化,以保证迁移的正确性和一致性。

  • 在修改模型时,一定要生成新的迁移文件,而不是直接修改已有的迁移文件。

  • 在执行迁移命令前,应该先备份数据库,以便出现问题时可以恢复数据。

  • 在多人协作开发时,应该使用版本控制工具来管理迁移文件的提交和合并。