如何使用
migrations的使用非常简单: 修改model, 比如增加field, 然后运行
python manager.py makemigrations
你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件.
我们建议查看一下该迁移文件, 确保没有问题. 然后运行:
python manager.py migrate
migrate命令会进行比较, 并应用该迁移.
migrations 默认目录修改
群里看到个问题:
migrations目录默认放在./app/models/migrations下面,能指定到别的目录吗?比如/data/app/models/migrations下么?
闲来无事,就稍稍研究了一下。
先从Migration 方向入手,翻遍手册,没有发现可以指定 path 的地方。
再从 settings 着手,查找有没有相关可设置的方向,稍稍有所收获:
MIGRATION_MODULES 选项,可以指定各个label的migration的包路径及名字。但还是相对路径,除非指定一个当前程序路径外的包路径?这点我没有去验证。
最后再从源码入手,其实就在
Lib\site-packages\django\core\management\commands\makemigrations.py 中使用了 MigrationWriter 类而MigrationWriter类中的 path 方法决定了路径,path方法 调用了 dir 和 filename 方法,一个控制文件名,一个管理路径。在不想改变文件名的情况下,只需要修改 dir 方法中的 返回值就可以实现这个需求。
Tips: 改完系统包,需要部署到其它环境的时候不要忘了将修改带过去!
dir 中调用了 Migrati er 的 migrations_module 方法,该方法返回 app_label 名称 及 一个布尔值
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
-
为什么微软要把数据中心设在水下?数据中心制冷有多花钱?
2026-05-18栏目: 教程
-
PDF转成TXT文本格式,应该如何转换比较快?
2026-05-18栏目: 教程
-
投资10亿!薛城区将开创全新现代化商贸物流模式
2026-05-18栏目: 教程
-
平板笔记本全网相关搜索量排名 平板笔记本全网相关搜索量排行榜
2026-05-18栏目: 教程
-
拼多多开店的5大盲区!赶紧避开
2026-05-18栏目: 教程
