【问题标题】:Populate database with sample (fake) data用样本(假)数据填充数据库
【发布时间】:2014-05-09 03:18:45
【问题描述】:

用示例数据填充开发数据库的最佳方法是什么?

FactoryGirl 似乎对测试有用,但不适合开发。 Populator 未更新到 Rails 3。

我应该在 rake 任务中使用 Faker 或 Forgery 之类的东西吗?

【问题讨论】:

    标签: ruby-on-rails-3 populate


    【解决方案1】:

    我在 rake 任务中使用 ffaker 和 populator gems 在 Rails 3 项目中创建假数据。这是一个例子:

    desc 'Create some fake tickets'
      task :tickets => :environment do
      Ticket.populate NUM_TICKETS do |t|
        t.title = Faker::Lorem.sentence(word_count=15)
        t.details = Faker::HipsterIpsum.paragraphs(sentence_count=3)
        t.group_id = rand(6)+1 # random group_id [1..6]
        t.status_id = 1
        t.priority_id = rand(3)+1 # random priority_id [1..3]
        t.contact_id = rand(NUM_CONTACTS)+1 # random contact_id [1..NUM_CONTACTS]
        t.creator_id = rand(6)+2 # random created_by [2..7]
        t.created_at = CREATION_PERIOD.sample
      end
    end
    

    这里的全耙任务: https://github.com/leesmith/ticket_mule/blob/edge/lib/tasks/faker.rake

    【讨论】:

      【解决方案2】:

      这看起来很有希望: https://github.com/paulelliott/fabrication

      【讨论】:

        【解决方案3】:

        在你的 Gemfile 中使用 faker gem,打包......然后......把它放在你的种子.rb 中

        100.times do
          Post.create({
            title: Faker::Lorem.sentence(3),
            body: Faker::Lorem.paragraph,
            author_name: Faker::Name.name
            })
        end
        

        $rake 数据库:种子

        【讨论】:

        • 你不应该把样本数据放在seeds.rb中:这个文件用于将真实数据加载到数据库中(即地理数据、城市、操作系统列表......以及一般的默认值)。
        猜你喜欢
        • 2020-11-12
        • 1970-01-01
        • 1970-01-01
        • 2012-06-05
        • 2016-01-16
        • 2014-02-14
        • 2015-01-27
        • 1970-01-01
        • 2017-12-09
        相关资源
        最近更新 更多