あなたが、私は希望それを自動化する必要がありませんようだとして:すべての決定的なデータで、ローカルデータベースを準備
- だけの場合
- で生産DBのバックアップを作成します(あなたが使用することができますどんな方法であれ、あなたのcsvの方法を含めて正しいレコードを取得する方法はたくさんあります。私は通常、jsonモデルを作成してシードモデルに使うのが好きです)
- 新しいアプリケーションの更新/作成
- ローカルherokuのCLIを使用してdbをプロダクションに
新しいアプリスキーマはもちろん準拠する必要があります、あなたがからあまりにも多くのを迷っ新しいアプリまたは1で作業している場合ので、これは、PG-プッシュは良好である理由の一つでありますプロダクションブランチをマイグレーションなどで使用する場合は、ローカルブランチをプッシュして展開してから、本来のローカルのデータベースを本番環境にプッシュして同期させておくことができます。それにもかかわらず、Dbの "ローカル"バージョンを整えて準備が必要です。
new_hash_of_objects = { }
Model_you_want.all.each do |model|
new_hash_of_objects[model.id.to_sym] = {
new_attribute_1 = '...',
new_attribute_2 = '...',
old_attribute_1 = model.old_attribute_1,
...
}
end
File.open("somewhere/json_records/records.json","w") do |f|
f.write("#{new_hash_of_objects.to_json}")
end
:私は(心に留めておくあなたは、コンソールで実行できることを、どこかで、何かの方法としてこれを行う必要があります)のような何かをするだろう、部分的に既存のレコードからレコードを種子に
補遺
そして、あなたがそれらをバックロードするために何かを持つことができます:あなたは数百万行を持っている場合、これは重いかもしれませんので、あなたは小さなファイルにそれを分割する必要がある
def read_json_copy_of_months
@json = JSON.parse(File.read("somewhere/json_records/records.json")).as_json.with_indifferent_access
@json.each do |m,record|
Record.create!(record)
end
end
end
を。