1

我正在编写一个 Rake 任务来填充数据库以用于开发目的,以便使用一些数据。(但在测试中我使用的是 FactoryGirl,所以不谈论这个。)

所以假设我的演示数据库中有两个示例组织,所以我这样定义它们:

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

然后是一个像这样填充数据库的小方法:

def create_organizations
  sample_organization.each { |item|
    Organization.first_or_create(
        name: item,
        time_zone: 'Central'
    )
  }
end

所以好消息是,从现在开始的两个月后,如果我想添加第三个组织,我只需转到我的代码顶部并在该数组中手动​​输入另一个组织名称。方法仍然有效并创建它。

现在问题开始了:我有更多的表格要填充!例如, Summaries表挂在 Organization 表上,因此每个组织可以有很多 Summaries,所以我们也有一个organization_id foreign key要填写的 Summary 表。但是我仍然希望有一个像上面的方法一样create_summariescreate_organization方法,但是这次填写Summaries表,棘手的部分是填写表的organization_id字段。

我应该如何处理这个?假设摘要表具有以下字段: id (auto generate by Rails) , organization_id, name, member_count

4

1 回答 1

1

尝试使用 Populator gem 来完成这样的任务。它易于使用,您可以生成复杂的结构。截屏

由于您不能使用这些,请使用选择一个随机父对象,或在哈希中按名称指定一个。

summaries = [{:name => "foo", :organization => "bar"}]
于 2013-02-16T14:41:24.553 回答