Shun Chih's blog

分類 · 15th鐵人賽

首頁

關於我

文章列表

loading..
djangopython15th鐵人賽source codeweb framework

Day18. migrate終於走到db啦!

前言migrate走到最後終於把前置材料都準備好要寫進db啦!!稍微回顧一下前面準備了什麼,最開始先把database load進來,接著比對了disk和database裡的table這當中還生出了migration graph,再來跟著我們下的command看處理額外對應的參數,準備好migration plan和project state後,開始處理migrate~ 正題開挖migrate..

Read more
loading..
djangopython15th鐵人賽source codeweb framework

Day17. migrate發送了信號signal!?

前言今天的內容我只能說我自己也沒有把握說真的理解了,就算了解了程式在寫什麼,也還沒達到可以理解為什麼這樣寫!話不多說,趕緊走著! 正題今天先從上次沒能理解的地方開始 這個是django有一個寫法叫做signal,顧名思義是一個傳送信號的function,而信號能做什麼事呢,接著看 看到這邊django會根據django settings中INSTALLED_APPS的AppConfig來去..

Read more
loading..
djangopython15th鐵人賽source codeweb framework

Day16. migrate 接著走遇到演算法~

前言昨天我們看到了django中的migrations是用graph的方式去存取,在造graph的時候也跑了一些function去驗證graph的一些特性,那~今天我們就繼續往下看看migrate接下來的過程吧!​ 正題 executor init後會跑一個去驗證graph和migration的一致性接下來會去檢查衝突 他會去檢查graph中的葉節點是否有重複 有的話就會報錯~接著往下會去..

Read more
loading..
djangopython15th鐵人賽source codeweb framework

Day15. django中的graph!

前言昨天我們有看到django中有個MigrationGraph,接續前面的部分應該就會看到graph的真面目了!這也是我第一次在程式中看到資料結構/演算法的應用~想想就覺得興奮!​ 正題那我們昨天的位置到了django.db.backends.base.base.BaseDatabaseWrapper中的_cursor() 而今天要從下面的 看看他究竟return了什麼~ 裡..

Read more
loading..
djangopython15th鐵人賽source codeweb framework

Day14. django與database的橋樑~

前言昨天我們看到了migrate一開始會去拿到相對應的connection物件也就是DatabaseWrapper,而拿到這個connection後具體要做什麼呢?今天就讓我們繼續往下捕捉migrate的動向! 正題接續昨天的位置,今天會從MigrationExecutor開始~ 挖 這邊看到原本的connection又分別丟給了MigrationLoader和MigrationRecor..

Read more
loading..
djangopython15th鐵人賽source codeweb framework

Day13. migrate 資料庫遷移?

前言直到昨天我們才第一次對資料庫下migrate,什麼是migrate?而migrate又是會做什麼事呢?django的migrate指令會根據我們寫的一些檔案生成對應的SQL後對資料庫進行操作,而具體的檔案會是由makemigrations生成,django會根據migrations資料夾內的檔案對我們自己撰寫的table也就是models.py做版控,而一開始的migrate會根據djan..

Read more
12345