0

私はを配備しました私のウェブサイトへの私のアプリケーションは今あります。私のDevelopment ENVにはcitiesというテーブルがあり、47K都市/レコードが含まれています。どのようにseedこれらすべての都市私のProduction ENVにすることができます。Ruby on Rails - 開発データベースのシード

seedと、citiesデータベースについてのみ、1回だけ行うことを考えています。

答えて

0

https://github.com/rroblak/seed_dumpなどの宝石を使用して、選択したテーブルをダンプし、実稼働サーバーでRAILS_ENV=production rake db:seedを実行してデータをシードすることができます。

rake db:seed:dump MODELS=cities APPEND=trueは、データをシードファイルにダンプするために実行する必要があるコマンドのようです。

そうでない場合は、データベーステーブルをMySQLダンプとしてエクスポートし、運用データベースにインポートすることができます。

+0

ありがとう@ 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 
関連する問題