Загрузка и извлечение всего CSV в моделях Ruby on Rails - PullRequest
1 голос
/ 10 октября 2011

Как мне выполнить загрузку (или обновление) базы данных для моего приложения RoR?Это «однократная» операция, поэтому кодирование ее в приложении кажется странным.

Кроме того, как мне получить доступ к базе данных после запуска приложения, находятся ли файлы моделей где-то на моем сервере, доступный"только для чтения"?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Вы можете написать скрипт для загрузки данных в базу данных из файлов 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 Инструмент запуска командной строки : rails runner db/scripts/csv_data_loader.rb.

0 голосов
/ 10 октября 2011

seeds.rb - это место, где вы вводите одноразовый код инициализации. Вы можете найти его в подкаталоге db. Это также может представлять интерес: Заполнение базы данных .

Если ваше приложение уже работает, используйте миграцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...