Skip to content

Instantly share code, notes, and snippets.

@epitron
Forked from anonymous/export_seeds.rake
Last active August 29, 2015 14:24
Show Gist options
  • Save epitron/84c92944b62df26e3d75 to your computer and use it in GitHub Desktop.
Save epitron/84c92944b62df26e3d75 to your computer and use it in GitHub Desktop.
namespace :db do
desc "Convert your database into seeds!"
task :export_seeds => :environment do
Rails.application.eager_load!
models = ObjectSpace.each_object(Class).select { |c| c < ActiveRecord::Base }
ignored_keys = %w[created_at updated_at id]
models.each do |model|
puts "### #{model}s ######################################"
puts
model.all.each do |record|
fields = record.attributes.delete_if { |k,v| ignored_keys.include? k }
puts "#{model.name}.create(#{fields.inspect})"
end
puts
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment