Ruby 用模拟数据填充数据库

Ruby 用模拟数据填充数据库,ruby,ruby-on-rails-3.2,Ruby,Ruby On Rails 3.2,我正在编写一个Rake任务,用他们提供给我的一些模拟数据填充数据库,因此,例如,如果有一个组织表具有名称、id和时区字段,我想在我的Rake任务中填充它,因此首先我创建了一个样本组织的数组: SAMPLE_ORGANIZATIONS = [ '37 Signals', 'Fog Creek'] 然后使用以下方法填充数据库: def create_organizations SAMPLE_ORGANIZATIONS.each_with_index {|item, index| Or

我正在编写一个Rake任务,用他们提供给我的一些模拟数据填充数据库,因此,例如,如果有一个组织表具有名称、id和时区字段,我想在我的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

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

有几个选择

  • 将模拟代码放在db/seeds.rb中,然后运行
    rake db:seed

  • 固定装置。在yaml文件中定义数据,然后运行
    rake db:fixtures:load

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