在多數據庫環境中,如何將所有數據從數據庫移動到另一個數據庫?Django - 同步多個數據庫之間的數據
設置是這樣的:
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': '[email protected]'
}
}
有沒有簡單的解決方案/應用程序做到這一點?雖然單向遷移已經足夠了,但是由於有數十個模型和對象具有複雜的外鍵和多對多連接,遍歷模型和對象並將它們保存到另一個模型並不能解決我的問題。
loaddata
也會失敗,因爲對象創建使用信號來創建其他對象,並且這會弄亂唯一的鍵。
即使使用sql轉儲也不是微不足道的,因爲後端是不同的。我已經試過了,我無法設法從我的sqlite3數據庫中進行psql轉儲,這不會搞亂外鍵。
所以我需要一個解決方案,它將數據從一個數據庫加載到另一個,但不發送信號,並使用外鍵。但我找不到任何這樣的事情。
我需要這個功能太運行該腳本! – WeizhongTu
使用'pg_dump'和'pg_restore'? –
@CraigRinger如果兩個數據庫都使用psql後端,那就好了。 sqlite3轉儲與psql轉儲不直接兼容。另一方面,我已經解決了這個問題,看到我的答案。 – kdani