seed_dump gem 的所有模型也获取 ID

get ids as well for all models with seed_dump gem

您好,我正在使用 seed_dump gem 从现有数据创建 seeds.rb,但我坚持了一件事,我想获取所有模型的 ID,以及如何为当前示例如果我 运行

rake db:seed:dump

我刚得到这样的代码

Product.create(title: "title", description: "text")

但我想要这个

Product.create(id: 1, title: "title", description: "text")

我该怎么做?

创建您自己的导出。假设您的模型名称是 Country

lib/tasks/export.rake

namespace :export do
  desc "Exports data for using in a seeds.rb."
  task :seeds_format => :environment do
    Country.order(:id).all.each do |country|
      puts "Country.create(#{country.serializable_hash.
            delete_if {|key, value| ['created_at','updated_at'].
            include?(key)}.to_s.gsub(/[{}]/,'')})"
    end
  end
end

您可以 运行 使用此命令:

rake export:seeds_format > db/seeds.rb
rake db:seed:dump EXCLUDE=[]

这会覆盖 [:id, :created_at, :updated_at] 的默认排除,以便它包含 id