私はを配備しました私のウェブサイトへの私のアプリケーションは今あります。私のDevelopment ENV
にはcities
というテーブルがあり、47K都市/レコードが含まれています。どのようにseed
これらすべての都市私のProduction ENV
にすることができます。Ruby on Rails - 開発データベースのシード
seed
と、cities
データベースについてのみ、1回だけ行うことを考えています。
私はを配備しました私のウェブサイトへの私のアプリケーションは今あります。私のDevelopment ENV
にはcities
というテーブルがあり、47K都市/レコードが含まれています。どのようにseed
これらすべての都市私のProduction ENV
にすることができます。Ruby on Rails - 開発データベースのシード
seed
と、cities
データベースについてのみ、1回だけ行うことを考えています。
https://github.com/rroblak/seed_dumpなどの宝石を使用して、選択したテーブルをダンプし、実稼働サーバーでRAILS_ENV=production rake db:seed
を実行してデータをシードすることができます。
rake db:seed:dump MODELS=cities APPEND=true
は、データをシードファイルにダンプするために実行する必要があるコマンドのようです。
そうでない場合は、データベーステーブルを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
ありがとう@ pinny87 – Rubioli