2011-07-06 60 views

回答

1

退房的Rails guide on associations(特別注意的has_many)。

你可以使用任何列鍵入數據庫支持的類型(使用t.column而不是t.type),但如果需要考慮跨數據庫的可移植性,我相信建議您堅持使用activerecord明確支持的類型。

看起來有點有趣的水果have_many蘋果,但也許這只是一個例子? (我期望蘋果是水果的一個子類)。

+0

小心,SQL99包括陣列,但我不知道如何得到廣泛支持,他們是( PostgreSQL至少支持它們)。 –

+0

@mu太短:謝謝,我不知道SQL99中的陣列支持。如果我正在閱讀規範,它們僅限於內置數據類型,所以你仍然無法擺脫一大堆蘋果。 – cam

+0

但是你將能夠擺脫一系列蘋果ID。我不知道陣列受到廣泛支持的程度,畢竟SQL99只有12年的歷史,而數據庫供應商並沒有那麼快地轉向可移植性和基於標準的系統:) –

16

在Rails 4和使用PostgreSQL,你可以實際使用的DB數組類型:

遷移:

class CreateSomething < ActiveRecord::Migration 
    def change 
    create_table :something do |t| 
     t.string :some_array, array: true, default: [] 
     t.timestamps 
    end 
    end 
end 
相關問題