Ruby on Rails - 来自开发数据库的种子

时间:2016-08-10 14:02:01

标签: ruby-on-rails development-environment production-environment seed

我现在已将部署我的应用程序部署到我的网站。在我的Development ENV中,我有一个名为cities的表格,其中包含47K个城市/记录。我如何seed将所有这些城市Production ENV添加到seed

我只想做一次cities并且仅针对bin/standalone.conf数据库。

2 个答案:

答案 0 :(得分:0)

您可以使用诸如https://github.com/rroblak/seed_dump之类的gem来转储所选表格,然后在生产服务器上运行RAILS_ENV=production rake db:seed以播种数据。

rake db:seed:dump MODELS=cities APPEND=true看起来像是运行以将数据转储到种子文件中所需的命令。

否则,您可以将数据库表导出为MySQL转储并将其导入生产数据库。

答案 1 :(得分: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