来自现有数据库的seed_fu

时间:2011-10-31 09:19:59

标签: mysql database ruby-on-rails-3 seed

我想知道是否有办法从现有数据中自动生成seed_fu文件?

我正在使用Rails 3和MySql。

seed_fu插件:https://github.com/mbleigh/seed-fu

3 个答案:

答案 0 :(得分:5)

最佳答案不再适用:

SeedFu::Writer.write('path/to/file.rb',{ class_name: 'Person', constraints: [:first_name, :last_name]}) do |writer|
  Person.all.each do |person|
    writer << person.as_json
  end
end

seed-fu writer使用&lt;&lt;(种子)方法将种子数据引入块中,最常见的答案将导致丢失的块异常。

您还需要在{options}键中传递类名和约束,以便writer将em作为选项参数

修改

根据Rails Seed-Fu Writer why seed got commented out? @Albert Netymk评论更新了答案。

答案 1 :(得分:3)

应该是:

Person.all.each do |person|

而不是:

Person.each do |person|

答案 2 :(得分:1)

您应该使用SeedFu::Writer生成seed_fu文件,有关示例,请参阅http://rubydoc.info/github/mbleigh/seed-fu/master/SeedFu/Writer