gpt4 book ai didi

ruby-on-rails - rails 3 : easiest way to load a large seed list (20, 000 个单词)到 Heroku 应用程序上的表中(使用 rake 种子)?

转载 作者:行者123 更新时间:2023-12-01 09:06:29 25 4
gpt4 key购买 nike

在我的本地开发机器上,我有一个单词列表,每行一个单词,我需要将 20,000 个单词加载到一个名为 Wordlist 的新表中。

我还需要在几个没有本地文件存储的 Heroku 应用程序上创建完全相同的表。

表模式只是 id:integer 和 word:string

我已经阅读了许多关于使用 seed.rb 的文章......但不太了解如何使用我的开发机器上的文件中的单词列表来实现它,将列表加载到我本地开发的表中机器 AND 在远程 Heroku 应用实例上。

任何想法都将不胜感激!

最佳答案

我会将该单词列表放入 csv 中,每行一个单词。这应该需要你 2 分钟。然后使用 FasterCSV gem 遍历保存在/lib/data 中的 csv。您可以将其粘贴到/db/seeds.rb 中。

种子.rb

FasterCSV.foreach("#{RAILS_ROOT}/lib/data/words.csv", :headers => :first_row) do |row|
Word.create_by_name(row[0])
end

运行你的 rake db:seed 就可以了。顺便说一句 :headers => :first_row 只是意味着如果您在顶部有类似的标题,则跳过第一行。如果您不只是忽略那部分。

对于远程文件:

require 'open-uri'
FasterCSV.foreach(open("http://remotehost.com/words.csv"), :headers => :first_row) do |row|
Word.create_by_name(row[0])
end

关于ruby-on-rails - rails 3 : easiest way to load a large seed list (20, 000 个单词)到 Heroku 应用程序上的表中(使用 rake 种子)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6769611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com