1

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

这是一个好方法吗?我该如何改进它?

4

1 回答 1

2

有几个选项。

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

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

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

于 2013-02-15T21:03:12.977 回答