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
您好,我正在使用 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