W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
遷移是 Django 將你對模型的修改(例如增加一個字段,刪除一個模型)應用至數(shù)據(jù)庫架構(gòu)中的方式。它們被設計的盡可能自動化,但你仍需要知道何時構(gòu)建和運行遷移,你還需要了解一些常見問題。
以下是幾個常用的與遷移交互的命令,即 Django 處理數(shù)據(jù)庫架構(gòu)的方式:
migrate
?,負責應用和撤銷遷移。makemigrations
?,基于模型的修改創(chuàng)建遷移。sqlmigrate
?,展示遷移使用的 SQL 語句。showmigrations
?,列出項目的遷移和遷移的狀態(tài)。你應該將遷移看作是數(shù)據(jù)庫架構(gòu)的版本控制系統(tǒng)。 ?makemigrations
?負責將模型修改打包進獨立的遷移文件中——類似提交修改,而 ?migrate
?負責將其應用至數(shù)據(jù)庫。
每個應用的遷移文件位于該應用的?migrations
?目錄中,他們被設計成應用代碼的一部分,與應用代碼一起被提交,被發(fā)布。你只需在開發(fā)機上構(gòu)建一次,就可以在同事的電腦或測試機上運行同樣的遷移而保證結(jié)果一致。最后在生產(chǎn)環(huán)境運行同樣的遷移。
通過修改配置 ?MIGRATION_MODULES
?可以重寫包含遷移的應用的包名。
從同樣的數(shù)據(jù)集合運行遷移在開發(fā)、測試和生產(chǎn)環(huán)境都會生成同樣的結(jié)果。
Django 會在修改模型或字段時生成遷移——即便修改的是不會影響數(shù)據(jù)庫的配置——因為唯一能確保結(jié)果正確性的方法時完整記錄修改歷史,而且這些東西你以后可能在某些數(shù)據(jù)遷移中用的到(例如,已設置了自定義驗證器的時候)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: