0

У меня есть развернуто мое приложение на мой сайт сейчас. В моем Development ENV у меня есть таблица под названием cities и содержит 47K городов/записей. Как я могу seed все эти города к моему Production ENV.Ruby on Rails - семена из базы данных разработки

Я только собираюсь сделать один раз seed и только для базы данных cities.

ответ

0

Вы можете использовать драгоценный камень, такой как https://github.com/rroblak/seed_dump, чтобы выгрузить выбранную таблицу, а затем на производственном сервере запустите RAILS_ENV=production rake db:seed, чтобы засеять данные.

rake db:seed:dump MODELS=cities APPEND=true выглядит как команда, которую необходимо запустить, чтобы выгрузить данные из файла семени.

В противном случае вы можете экспортировать таблицу базы данных в качестве дампа MySQL и импортировать его в производственную базу данных.

+0

Thanks @ pinny87 – Rubioli

0

Вы сказали, что вам нужно сделать это только один раз в процессе производства, но обычно это может потребоваться любому другому разработчику (или вам самому в будущем), чтобы я действительно превратил его в файл семпла или CSV ,

Вот как вы могли бы создать CSV, а затем импортировать его в производство.

require 'csv' 
attributes = %w{name country} 

CSV.open('cities.csv','w') do |csv| 
    csv << attributes 

    City.find_each do |city| 
     csv << attributes.map{ |attr| city.send(attr) } 
    end 
    end 
end