Django4全栈进阶之路7 makemigrations和migrate迁移
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
文件中指定数据库连接参数,创建数据库等。在使用数据库迁移时,还需要注意以下几点:
-
尽量不要手动修改数据库表结构或数据,而是通过数据迁移来管理数据库变化,以保证迁移的正确性和一致性。
-
在修改模型时,一定要生成新的迁移文件,而不是直接修改已有的迁移文件。
-
在执行迁移命令前,应该先备份数据库,以便出现问题时可以恢复数据。
-
在多人协作开发时,应该使用版本控制工具来管理迁移文件的提交和合并。
特别注意:明明只新建了一个表,却迁移了那么多,那是以为第一次的迁移中包括系统默认的表,例如:用户表、权限表
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架