Postgres で、あるデータベースから別のデータベースにデータをコピーしたいと考えています。django でスクリプトを作成し、ある特定のテーブルからデータを取得できましたが、そのデータを他のデータベースに追加するにはどうすればよいですか。新しいデータベースには同じテーブルと列名があり、その古いデータベース ファイルを新しいデータベースに保存したいと考えています。これは一部の人にとっては簡単かもしれませんが、私は本当にそれを理解できませんでした.
3 に答える
Django でこれを行う最も簡単な方法 (ある Django データベースを別のモデルの Django データベースで定義された別の Django データベースに移動する) は、2 つの Django ビューと 1 つの jquery html ページを作成することです。
最初のビューは元の Django アプリにあります。基本的に、データベースの json オブジェクト モデルを作成し、get 要求でプッシュします。これは、Django のモデルのカスタムです。
2 番目のビューは、新しい Django アプリにあります。これにより、json データが取り込まれ、現在の Django データベースと一致するようにフォーマットされます (フィールドが正確に一致しない可能性があるため、この移行を行う理由です)。次に、新しい Django モデル エントリ ( example )を作成するときと同じように、要素を新しいデータベースに追加します。
私は個人的に、最初のビューからjsonデータを取得して2番目のビューに投稿する1回限りのjquery htmlページを使用しています。この部分を除外して、2 番目のビューですべてを python で記述することもできますが、この方法で行うと、はるかにクリーンになることがわかります。
私はどちらのAPIにも精通していませんが、行/列の次元が同じであれば、次のようなことができます(これは部分的に擬似コードです):
for x in range(height):
for y in range(width):
data = call_data_from_database_A(x, y)
new_entry = enter_data_into_database_B(x, y)
Call_data がその特定の行/列からデータを取得している場所で、enter_data がその特定の行/列にデータを入力します。どちらの API にも詳しくありませんが、この 2 つを見つければすぐに理解できると思います。
独自のインポートおよびエクスポート コードを記述する代わりに、Postgres のネイティブ機能を使用して、古いデータベースからテーブルをダンプし、それを新しいデータベースにインポートしてみませんか。