Rails中建立Migration的時機

有的時候總是會針對資料表做修修改改的,雖然Rails的migration很方便,但是只要其中一個動作爛掉的時候很可能沒有辦法繼續進行下去,我已經被這種鳥問題搞過好多次了,所以分享一下心路歷程。

基本上在同一個檔案中create_table之後搭配add_index是沒有太大問題的,不過如果是在add_column之後加上add_index之類的可就要拆開到另外一個migration檔案會比較好了。曾經遇過的問題是新增一個欄位之後要打索引,結果索引欄位太長然後就爛在那邊沒辦法往前走只能往後退,這個時候只好修改一些地方然後從頭重新再跑一次migrate才正常。

所以像是額外再加進去的都不要合併在一起寫,除非像是添加欄位(Ex: posts_count之類的),如果是要用來當作搜尋條件的因為會打上index所以請小心使用。

另外,也可以搭配一些條件使用,像是 table_exists? 或者是 column_exists? 可以很簡單的去控制整個新增的流程,還算不錯用。

About HeChien

I'm a Ruby and iPhone application developer.
This entry was posted in 雜記 and tagged , . Bookmark the permalink.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s