我应该如何为我的RoR应用程序加载(或更新)数据库?这是一次“操作”,因此在应用程序中对其进行编码似乎很奇怪。
另外,如何在应用程序运行后访问数据库,模型文件是否位于我的服务器上,可以“只读”访问?
感谢。
答案 0 :(得分:1)
您基本上可以编写一个脚本,以便从CSV文件将数据加载到数据库中。
以下是如何做到这一点的示例:
require 'rubygems'
require 'csv'
infile = "db/data/csv/my_data.csv" # location of the file
count = 0
CSV.open(infile, 'r') do |row|
col1 = row[1]
col2 = row[2]
obj = MyObject.new({ :col1 => col1, :col2 => col2 })
obj.save
count += 1
print '.' if (count % 10) == 0
end
puts
puts "Successfully loaded #{count} records into database!"
然后使用rails command line tool runner运行脚本:rails runner db/scripts/csv_data_loader.rb
。
答案 1 :(得分:0)
seeds.rb
是您放置一次性初始化代码的地方。您可以在db
子目录中找到它。这也许有趣:Database seeding。
如果您的应用程序已在生产中,请使用迁移。