1

最初のDjango/Herokuアプリを正常にデプロイしましたが、データベースを転送するだけで済みます。以前は、Win7PCのMySqlデータベースにありました。csvをHerokudbにインポートする方法を探しましたが、何も見つかりませんでした。彼らはそれを行うためにrubygemを使用するかtaps、次のコマンドを使用することを提案しています heroku db:push mysql://root:mypass@localhost/mydb。私のデータベースは非常に小さく、約1000列と2つのテーブルしかないため、CSVファイルをインポートするのは非常に簡単ですが、その方法がわかりません。誰もが知っていますか?

4

3 に答える 3

5

非常に迅速に進めるためのいくつかのアイデアを次に示します。

まず、迅速で汚いアプローチ:

または、少し遅く、まだ少し汚いアプローチ:

  • CSV readerPythonモジュールを使用します。
  • Djangoアプリで、CSVを読み込み、各CSV行を繰り返し処理し、対応する新しいモデルを作成し、モデルが有効な場合はサーバーのデータベースに保存するタスクを作成します。
  • herokuCLIを介してタスクを実行します。
  • 終了してサーバーデータベースを確認したら、リポジトリからタスクとCSVを削除できます。

そうでなければ、あなたにtapsも似合うかもしれません!

于 2012-06-19T04:01:18.603 に答える
2

ここにリンクの説明を入力するように、copyコマンドを使用して、ローカルファイルシステムからpostgresにCSVをロードできます。これは、HerokuDBで次のようなもので使用できるはずです。

PGPASSWORD = passwordhere psql -h hostname -U username dbname -c "\ copy ..."

于 2012-06-19T04:39:03.437 に答える
1

以下のコマンドを使用して、ローカルcsvファイルをherokupostgresのテーブルとしてインポートできます。

PGPASSWORD=<your password> psql -h <your heroku host> -U <heroku user> <heroku postgres database name> -c "\copy bank (ifsc, bank_id, branch, address, city, district, state, bank_name) FROM '<local file path location>' CSV HEADER DELIMITER E'\t';"

必要に応じてDELIMITER値を変更してください。区切り文字の前の「E」は、コマンドにエスケープ文字が含まれていることを示します。含まれていない場合は、エスケープ文字が含まれます。例外をスローする

于 2019-08-13T07:12:33.553 に答える