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

Ruby on rails RubyonRails-来自开发数据库的种子,ruby-on-rails,development-environment,production-environment,seed,Ruby On Rails,Development Environment,Production Environment,Seed,我现在已将我的应用程序部署到我的网站上。在我的Development ENV中,我有一个名为cities的表,其中包含47K个城市/记录。我如何将所有这些城市的种子植入我的生产环境中 我只想做一次seed,并且只针对城市数据库。您可以使用gem,例如转储所选表,然后在生产服务器上运行RAILS\u ENV=production rake db:seed来为数据进行种子 rake db:seed:dump MODELS=cities APPEND=true看起来像是将数据转储到seed文件中所需运

我现在已将我的应用程序部署到我的网站上。在我的
Development ENV
中,我有一个名为
cities
的表,其中包含47K个城市/记录。我如何将所有这些城市的种子植入我的
生产环境中


我只想做一次
seed
,并且只针对
城市
数据库。

您可以使用gem,例如转储所选表,然后在生产服务器上运行
RAILS\u ENV=production rake db:seed
来为数据进行种子

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


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

您可以使用gem(例如)转储所选表,然后在生产服务器上运行
RAILS\u ENV=production rake db:seed
为数据种子

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


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

您说过,您只需要在生产中执行一次,但通常其他开发人员(或将来的您自己)可能需要再次执行此操作,所以我会将其转换为种子文件或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
需要“csv”
属性=%w{name country}
CSV.open('cities.CSV','w')do | CSV|

csv您说过您只需要在生产中执行一次,但通常其他开发人员(或将来的您自己)可能需要再次执行此操作,因此我会将此转换为种子文件或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
需要“csv”
属性=%w{name country}
CSV.open('cities.CSV','w')do | CSV|
csv