Friday, August 30, 2013

Notes for CakePHP schema tool

最近要動到Flirq的database schema. 趕快來kk CakePHP的schema tool. 看起來挺簡單的.
基本上我需要的動作就是

1. 先在開發環境裡的mysql裡把DB的結構改好
2. 跑 cake schema generate
3. 因為之前已經有了 schema.php, 所以這個時候會問說是要 overwrite還是 snapshot
4. snapshot主要是讓你可以對schema.php做版本控制. 不過都已經用了版本控制系統了. 所以就overwrite吧!
5. 等要上線上環境的時候. 在線上機器跑cake schema update
6. 這個時候會跑出將會做哪些DB結構修改的指令確認. 檢查一下沒問題就可以讓它下去跑囉.

現在這些framework都提供了不少好工具. 不過使用上還是得注意就是了. :Q
以下是已經不小心踩過的雷, 記錄一下
1. CakePHP的schema tool不支援big int. 只會用int來處理. 一般int已經可以存很多東西. 只是如果存到facebook id. 恭喜你, 記得手動去調DB結構.
2. CakePHP的schema tool預設是只會掃有model file的DB table. 所以schema.php裡的table數目跟實際DB裡的table數目不同, 或是發現有些table沒被改到也不要覺得奇怪. :p 可以加 -f 解決這個問題.

No comments:

Post a Comment