国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django migrations 默認目錄修改的方法教程

2020-01-04 14:26:29
字體:
來源:轉載
供稿:網友

如何使用

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方法 調用了 basedir 和 filename 方法,一個控制文件名,一個管理路徑。在不想改變文件名的情況下,只需要修改basedir 方法中的 返回值就可以實現這個需求。

Tips: 改完系統包,需要部署到其它環境的時候不要忘了將修改帶過去!

basedir 中調用了 MigrationLoader 的 migrations_module 方法,該方法返回 app_label 名稱 及 一個布爾值

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炉霍县| 上犹县| 蒙自县| 宜都市| 类乌齐县| 镇原县| 元阳县| 无极县| 大田县| 兖州市| 历史| 交城县| 阿坝| 祁东县| 上高县| 新巴尔虎右旗| 改则县| 禄丰县| 南和县| 普兰县| 吕梁市| 金华市| 九龙县| 甘谷县| 上犹县| 武穴市| 石嘴山市| 新泰市| 长宁区| 肇州县| 苍梧县| 万盛区| 遂平县| 南通市| 嘉定区| 德安县| 婺源县| 潍坊市| 涟水县| 彰化县| 茶陵县|