Ruby on rails 在RubyonRails模型中加载和提取整个CSV

Ruby on rails 在RubyonRails模型中加载和提取整个CSV,ruby-on-rails,Ruby On Rails,我应该如何为我的RoR应用程序加载(或更新)数据库?这是一个“一次性”操作,因此在应用程序中对其进行编码似乎很奇怪 另外,在应用程序运行后如何访问数据库,模型文件是否位于我的服务器上的某个位置,是否可以“只读”访问 谢谢。种子.rb是放置一次性初始化代码的地方。您可以在db子目录中找到它。这可能也很有趣: 如果应用程序已经投入生产,请使用迁移。种子.rb是放置一次性初始化代码的地方。您可以在db子目录中找到它。这可能也很有趣: 如果您的应用程序已经投入生产,请使用迁移。您基本上可以编写一个脚本,

我应该如何为我的RoR应用程序加载(或更新)数据库?这是一个“一次性”操作,因此在应用程序中对其进行编码似乎很奇怪

另外,在应用程序运行后如何访问数据库,模型文件是否位于我的服务器上的某个位置,是否可以“只读”访问


谢谢。

种子.rb是放置一次性初始化代码的地方。您可以在
db
子目录中找到它。这可能也很有趣:


如果应用程序已经投入生产,请使用迁移。

种子.rb是放置一次性初始化代码的地方。您可以在
db
子目录中找到它。这可能也很有趣:


如果您的应用程序已经投入生产,请使用迁移。

您基本上可以编写一个脚本,将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运行脚本:
railsrunner db/scripts/csv_data_loader.rb

您基本上可以编写一个脚本,从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运行脚本:
railsrunner db/scripts/csv\u data\u loader.rb

使用csv非常有价值。在我的工作中,我已经并将继续使用它生成报告。收集一个集合,迭代它,很好地格式化它,就会有一个报告。(而且ActiveRecord使这样的事情比使用纯SQL简单得多。)使用csv非常有价值。在我的工作中,我已经并将继续使用它生成报告。收集一个集合,迭代它,很好地格式化它,就会有一个报告。(而ActiveRecord使这样的事情比使用纯SQL简单得多。)