新聞中心
遷移是 Django 將你對(duì)模型的修改(例如增加一個(gè)字段,刪除一個(gè)模型)應(yīng)用至數(shù)據(jù)庫(kù)架構(gòu)中的方式。它們被設(shè)計(jì)的盡可能自動(dòng)化,但你仍需要知道何時(shí)構(gòu)建和運(yùn)行遷移,你還需要了解一些常見(jiàn)問(wèn)題。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為廈門企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),廈門網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
以下是幾個(gè)常用的與遷移交互的命令,即 Django 處理數(shù)據(jù)庫(kù)架構(gòu)的方式:
- ?
migrate?,負(fù)責(zé)應(yīng)用和撤銷遷移。 - ?
makemigrations?,基于模型的修改創(chuàng)建遷移。 - ?
sqlmigrate?,展示遷移使用的 SQL 語(yǔ)句。 - ?
showmigrations?,列出項(xiàng)目的遷移和遷移的狀態(tài)。
你應(yīng)該將遷移看作是數(shù)據(jù)庫(kù)架構(gòu)的版本控制系統(tǒng)。 ?makemigrations ?負(fù)責(zé)將模型修改打包進(jìn)獨(dú)立的遷移文件中——類似提交修改,而 ?migrate ?負(fù)責(zé)將其應(yīng)用至數(shù)據(jù)庫(kù)。
每個(gè)應(yīng)用的遷移文件位于該應(yīng)用的?migrations?目錄中,他們被設(shè)計(jì)成應(yīng)用代碼的一部分,與應(yīng)用代碼一起被提交,被發(fā)布。你只需在開(kāi)發(fā)機(jī)上構(gòu)建一次,就可以在同事的電腦或測(cè)試機(jī)上運(yùn)行同樣的遷移而保證結(jié)果一致。最后在生產(chǎn)環(huán)境運(yùn)行同樣的遷移。
通過(guò)修改配置 ?MIGRATION_MODULES ?可以重寫包含遷移的應(yīng)用的包名。
從同樣的數(shù)據(jù)集合運(yùn)行遷移在開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境都會(huì)生成同樣的結(jié)果。
Django 會(huì)在修改模型或字段時(shí)生成遷移——即便修改的是不會(huì)影響數(shù)據(jù)庫(kù)的配置——因?yàn)槲ㄒ荒艽_保結(jié)果正確性的方法時(shí)完整記錄修改歷史,而且這些東西你以后可能在某些數(shù)據(jù)遷移中用的到(例如,已設(shè)置了自定義驗(yàn)證器的時(shí)候)。
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Django4.0教程:Django4.0遷移-命令
當(dāng)前地址:http://m.fisionsoft.com.cn/article/djcdijc.html


咨詢
建站咨詢
