マルチデータベース環境で、すべてのデータをデータベースから別のデータベースに移動する方法は?
設定は次のようになります。
DATABASES = {
'default': {},
'users': {
'NAME': 'user_data',
'ENGINE': 'django.db.backends.sqlite3',
'USER': 'user',
'PASSWORD': 'superS3cret'
},
'customers': {
'NAME': 'customer_data',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'cust',
'PASSWORD': 'veryPriv@ate'
}
}
これを行うための簡単なソリューション/アプリはありますか? 一方向の移行で十分ですが、複雑な外部キーと多対多接続を持つ多数のモデルとオブジェクトがあるため、モデルとオブジェクトを反復処理して別の場所に保存しても問題は解決しません。
loaddata
オブジェクトの作成は信号を使用して別のオブジェクトを作成し、これにより一意のキーが台無しになるため、失敗します。
バックエンドが異なるため、SQL ダンプの使用は簡単ではありません。私はこれを試しましたが、外部キーを台無しにしない sqlite3 データベースから psql ダンプを作成することができませんでした。
したがって、データベースから別のデータベースにデータをロードするが、シグナルを送信せず、外部キーでも機能するソリューションが必要です。しかし、これを行うものは見つかりませんでした。