2011-11-23 27 views
0

我想創建一些具有隨機屬性的模型,儘管在一些限制內。在遷移過程中做這件事的正確方法是什麼?對於小於1000的數字,是否有比整數更適合的類型?我想的......象下面這樣:Howto在Active Record Migration中創建隨機默認值

class X < ActiveRecord::Migration 
    def up 
    add_column :things, :integer, :default => "a number between 5 and 12" 
    end 

回答

3

你可以這樣做:

class X < ActiveRecord::Migration 
    def up 
    add_column :things, :integer, :default => (5..12).to_a.sample 
    end 
end 
+0

大,和烏斯季延長一點,是有辦法減少上下的概率限制?所以說,要防止5和12發生那麼多? – barerd

+0

還有一件事:有沒有辦法從表格或別的東西上拉字符串?我的意思是,我可能會創建一個表,其中包含可能的值(字符串或整數),我希望隨機使用這些值而不是範圍。 – barerd

+0

@barerd你可以查詢一個表格,甚至可以讓它變得有點難看。你在遷移中有'連接'屬性,所以你可以做任何你想要的數據庫。 –