我有一个具有多个关联的 Rails 应用程序。还会有很多内容,例如 youtube 视频和图像。
我能想到的一种方法是使用工厂女孩,但我找不到将数据转储到我的开发数据库中的方法。
它看起来更像是仅用于测试目的。然而,这是一场势均力敌的比赛。
我不想使用 seed.rb,因为它基本上用于在 rails 应用程序中加载默认数据。
我也计划使用faker gem。
我不能将迁移用于如此繁重的操作或者/或者不应该使用它。
请建议
我有一个具有多个关联的 Rails 应用程序。还会有很多内容,例如 youtube 视频和图像。
我能想到的一种方法是使用工厂女孩,但我找不到将数据转储到我的开发数据库中的方法。
它看起来更像是仅用于测试目的。然而,这是一场势均力敌的比赛。
我不想使用 seed.rb,因为它基本上用于在 rails 应用程序中加载默认数据。
我也计划使用faker gem。
我不能将迁移用于如此繁重的操作或者/或者不应该使用它。
请建议
修改您的 Gemfile 并将 factory_girls_rails gem 添加到其中。注意并将其添加到您的开发组中:
group :development, :test do
gem 'factory_girl_rails'
end
安装捆绑包
bundle install
生成一个新的 rake 任务,例如在 lib/tasks/data.rake
namespace :data do
desc "generate development data"
task :generate => :environment do
100.times do
FactoryGirl.create(:article) # assumed you have an articles factory
end
100.times do
FactoryGirl.create(:your_model)
end
end
end
在控制台中调用您的 rake 任务:
bundle exec rake data:generate
并且数据将保存到您的开发数据库 - 或者如果您通过环境,也可以保存到生产或登台或其他任何东西..