1. South 簡介
South 是Django的第三方app,專門做資料庫表結構自動遷移工作。他已經成為Django資料庫表遷移标準,很多第三方app都會帶South migrations腳本。
2. syncdb簡介
syncdb意思是資料庫同步。syncdb 指令是同步你的模型到資料庫的一個簡單方法。 它會根據 INSTALLED_APPS 裡設定的app來檢查資料庫, 如果表不存在,它就會建立它。 需要注意的是,syncdb 并不能将模型的修改或删除同步到資料庫;如果你修改或删除了一個模型,并想把它送出到資料庫,syncdb并不會做出任何處理。
如果你再次運作 python manage.py syncdb ,什麼也沒發生,因為你沒有添加新的模型或者添加新的app。是以,運作python manage.py syncdb總是安全的,因為它不會重複執行SQL語句。
3. Souch 特性
(1)、自動遷移:south可自動檢測你的Models.py檔案的改變,自動寫入migrations去比對你所做的改變。
(2)、資料庫獨立性:完全與資料庫無關的,支援五個不同的資料庫後端。這樣就無需再關注于資料庫方向,而專注與django。
(3)、app藝術:south依賴app,south本身也是django的第三方app,再使用的時候單獨作用于每個app下,進行遷移,同步。
(4)、VCS處理:south也能處理如果别人送出遷移到相同的應用程式作為你和他們沖突。
4. South使用
1> 安裝South
pip install South #如果pip未安裝,應先安裝pip
2> South 配置
South作為Django第三方的app,需要在django setting.py 配置檔案添加South應用。
3> 建立一個module
4> 初始化app
python manage.py schemamigration blog --initial #第一次初始化;應用blog注冊到south中,隻執行一次
5> 自動監測model類
python manage.py schemamigration blog --auto #自動檢測model類的更改情況
6>執行同步工作
python manage.py migrate blog #執行同步工作
本文出自 “” 部落格,請務必保留此出處