喜欢标题..我想在我的数据库中创建表,然后用我的csv(tab是“;”)文件中的记录填充它。有记录(和整个表)不会被任何人更新或更改。我只需要用这些记录创建db(只有Postgres)。我想稍后从这张表中随机取一些记录。有小费吗?或者从db中直接从csv文件instad中获取随机记录是更好的解决方案? Plz帮助
答案 0 :(得分:2)
您可以创建一个命令行工具来读取您的cvs文件并使用ActiveModel与数据库通信。在这种情况下,您可以像在任何其他rails应用程序中一样创建模型和数据库。
要读取您的cvs文件,请执行以下操作:
require 'csv'
CSV.foreach(fileName, :headers => true, encoding: "UTF-8") do |row|
row['myfiled'].to_s
end
您需要csv gem,并且必须使用要使用的列的名称替换myfield。如果您拥有ruby中的数据,则可以创建模型,就像在rails中一样。将定义放在同一个文件中,或使用require引用您的模型。
或者你可以只读取cvs文件并随机决定是否要使用这些数据。在这种情况下,您无需将其放在数据库中。