使用模拟数据填充数据库

时间:2013-02-15 20:54:52

标签: ruby ruby-on-rails-3.2

我正在编写一个Rake任务,用他们给我的一些模拟数据填充数据库,例如,如果有一个具有name,id和time_zone字段的Organization表,我想在我的rake中填充它任务,所以首先我创建了一个样本组织的数组:

SAMPLE_ORGANIZATIONS = [ '37 Signals', 'Fog Creek']

然后从中填充数据库的方法:

def create_organizations
  SAMPLE_ORGANIZATIONS.each_with_index  {|item, index|
    Organization.first_or_create(
        name: item,
        time_zone: 'Central'
    )
  }
end

这是一个好方法吗?我怎样才能改进它?

1 个答案:

答案 0 :(得分:2)

有几个选择。

  1. 将您的模拟代码放入db / seeds.rb,然后运行rake db:seed

  2. 灯具。在yaml文件中定义数据,然后运行rake db:fixtures:load

  3. 工厂女孩。可能是最好的选择,但稍微复杂一些。将FactoryGirl代码放在db / seeds.rb中,并像#1一样使用它。