django 多數據庫遷移

一,遷移命令

db1:django的一個數據庫
db2:django的另一個數據庫
appname1:使用db1的app
appname2:使用db2的app

python manage.py migrate appname2 --database=db2

二,遷移過程中的問題

    "Error creating new content types. Please make sure contenttypes "
RuntimeError: Error creating new content types. Please make sure contenttypes is migrated before trying to migrate apps individually.

這是因爲db2中沒有django數據庫基本信息表,需要把contentype表也遷移到db2中,同時contentype有依賴於auth表,所以需要先遷移auth表,否則彙報如下錯誤:

django.db.utils.ProgrammingError: (1146, "Table 'xxxx.auth_permission' doesn't exist")

正確的流程如下:

python manage.py migrate auth --database=db2
python manage.py migrate contenttypes --database=db2
python manage.py migrate appname2 --database=db2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章