如何使用yaml文件中的数据对数据库进行种子化? Ruby on rails

时间:2017-01-21 16:26:09

标签: ruby-on-rails ruby database yaml

我需要用yaml文件中的数据填充我的数据库,其中包含以下内容:

-Users:
------Users_nameship: 'First group'
------Members:
----------Name:'Jack'

等。 我需要使用seeds.rb文件 现在,我做了类似的事情:

    require 'yaml'

    seed_file = Rails.root.join('db', 'seeds.yml')
    @config = Hash.new(YAML::load_file(seed_file))
    @config.each do |key, values|
        values.each do |k,v|
            Project.create title:v
        end
    end

但是它不会填满表格中的任何单元格。请帮忙

1 个答案:

答案 0 :(得分:1)

Yaml文件由灯具用于测试目的。另一方面,您可以使用db / seed.rb使用以下命令填充数据库:

class Group < ApplicationRecord
  has_many :users
end

class User < ApplicationRecord
  belongs_to :group
end

检查以下型号:

Group.create!([{name: "First group"}, {name: "Second group"}])

User.create!([{name: 'Jack', group_id: 1}, {name: 'Bob', group_id: 1}, {name: 'Robert', group_id: 2}, {name: 'John', group_id: 2}])

您可以使用以下seed.rb文件生成两个具有两个用户的组:

{{1}}