如何基于我的开发数据库生成灯具?

我是懒惰的,因为我的生产数据库有我可以用来测试正在进行的开发的数据,我想知道是否有任何简单的方法来生成灯具。

在1.8.7上使用Rails 3

你真的可以Google这个。 “rails从数据库创建夹具”。 第一次点击: http : //snippets.dzone.com/posts/show/2525 。 但是你会产生我认为是脆弱的测试。 考虑使用夹具更换。 像Fixjour , Factory Girl或Machinist 。 它们将帮助您思考您在代码中抛出的边缘情况。 只是一个想法。

问题是陈旧的,但它似乎仍然相关:是的,有一种简单的方法可以从您的开发数据库创建灯具:

class ActiveRecord::Base def dump_fixture fixture_file = "#{Rails.root}/test/fixtures/#{self.class.table_name}.yml" File.open(fixture_file, "a+") do |f| f.puts({ "#{self.class.table_name.singularize}_#{id}" => attributes }. to_yaml.sub!(/---\s?/, "\n")) end end end 

将它放在config/initializers中的文件中 – 现在您可以在Rails控制台中转储任何ActiveRecord对象,它将自动附加到它的相应fixture文件的末尾:

User.first.dump_fixture将fixture数据附加到test/fixtures/users.yml