📌  相关文章
📜  python3 manage.py migrate (1)

📅  最后修改于: 2023-12-03 15:04:19.540000             🧑  作者: Mango

介绍Django中的migrate命令

python3 manage.py migrate命令用于执行数据库迁移操作。Django提供了一个SchemaMigration机制来管理数据库中的表结构变更。

迁移流程
  1. 创建模型:在models.py文件中定义数据模型
  2. 生成迁移文件:使用python3 manage.py makemigrations创建模型对应的迁移文件
  3. 执行迁移:使用python3 manage.py migrate命令将迁移文件中的变更应用到数据库中
migrate命令的参数
  • --database:指定要执行迁移的数据库,如:
    • python3 manage.py migrate --database=other_db
  • --fake:可以强制标记某个迁移以前迁移或未迁移,如:
    • python3 manage.py migrate app_name 0001 --fake
  • --fake-initial:在当前的数据库上强制执行迁移,并把迁移标记成已经执行,但是不做迁移的操作,如:
    • python3 manage.py migrate app_name --fake-initial
  • --list:列出所有可以使用的迁移文件,如:
    • python3 manage.py migrate --list
  • --verbosity:指定日志输出等级,如:
    • python3 manage.py migrate --verbosity=2
migrate命令的示例
简单使用
python3 manage.py migrate

该命令会检查当前所有应用的所有迁移文件,然后依次执行跟次序相关联的迁移操作。

指定应用
python3 manage.py migrate app_name

该命令只会对app_name应用下的迁移文件进行操作。

指定迁移操作
python3 manage.py migrate app_name 0001_initial

该命令会执行app_name应用下的0001_initial迁移文件。

指定数据库
python3 manage.py migrate --database=other_db

该命令会将迁移操作应用到other_db数据库中。

总结

python3 manage.py migrate命令是Django中重要的数据库操作命令之一,它通过迁移文件来管理数据库表结构的变化,能够很好地协助开发者对数据库进行维护和升级。