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