我很早就知道yii有個叫migrations的東西,但一直不覺得有什麼意義,今天看到這篇引文文章很好的說明了migrations的意義,我試著翻譯一下:
首先,我們為什麼需要migrations呢?
很久以來,php一直沒有一種機制把專案最新的db結構同時同步到不同的機器上.
很多時候我們是卸掉原來的db結構再把最新的db結構導進來.
如果某人修改了資料庫結構,那麼我們不得不把修改的sql檔案在所有不同的機器上跑一遍.而且這個修改者可能要乙個乙個得通知到所有人(實際情況可能要好點).
現在yii提供了乙個管理我們db結構的方法.我們不需要浪費時間和精力來維護我們的db結構了.
以下是在開發過程中使用migrations的步驟:
1.tim建立了乙個新的migration(比如建立了乙個新的表)
2.tim把這個migration通過**管理工具(svn,git等)提交到**管理伺服器.
3.doug update了他的**,拿到了這個migration.
4.doug(無腦地)使用了這個migration,然後他本地的資料庫結構就和其他人的保持一致了.
使用migration
# migration command list
% php protected/yiic migrate # 應用所有的新的migration
% php protected/yiic up [step] # 應用乙個或多個migration
% php protected/yiic down [step] # 回滾乙個或多個已經應用的migration
FormBorderStyle的屬性及意義
formborderstyle的屬性及意義 屬 性 意 義 formborderstyle.none 無邊框formborderstyle.fixedsingle 固定的單行邊框 formborderstyle.fixed3d 固定的三維樣式邊框 formborderstyle.fixeddialo...
常見的DoDataExchange什麼意思
該函式中的 是由classwizard自動加入的。dodataexchange只有乙個引數,即乙個cdataexchange物件的指標pdx。在該函式中呼叫了ddx函式來完成資料交換,呼叫ddv函式來進行資料有效檢查。當程式需要交換資料時,不要直接呼叫dodataexchange函式,而應該呼叫cw...
轉意字元問題
今天幫別人解決乙個問題,弄了半天才出來,很鬱悶。後台 如下。for int i 0 i 4 i else 在執行後也不報錯,可就是沒關效果。最後修改如下。for int i 0 i 4 i else 方法2 修改js function showdiv id1,id2,id3,id4 後台如下 lit...