2017-01-17 24 views
1

我使用Django創建了一個Web應用程序。我不是很滿意,並且想要將我創建的Django模型作爲SQL語句導出/翻譯整個整個將Django模型/類導出到SQL語句

我知道下面的語句打印增量更改數據庫的SQL語句:

python manage.py sqlmigrate polls 0001 

但如何我最初的(整體)模型導出到一個SQL文件?

理論上,我可以直接從數據庫中導出SQL轉儲。但我的數據庫已變得凌亂(附表),我的models.py是原始數據庫的乾淨公式。

+0

據我所知,'python manage.py執行你想要的sql'命令已被棄用,因爲Django 1.8 – TheWaveLad

回答

1
  1. 重命名migrations文件夾foo這樣的Django無法找到它(或完全刪除它,如果你是勇敢的)
  2. 刪除或重命名django_migrations
  3. python manage.py migrate --fake
  4. python manage.py makemigrations polls
  5. python manage.py sqlmigrate polls 0001
+0

這似乎不起作用。在第一個命令之後,它說'沒有遷移申請。您的模型具有尚未反映在遷移中的更改,因此不會應用。運行'manage.py makemigrations'來進行新的遷移,然後重新運行'manage.py migrate'來應用它們。'在第二個之後:'CommandError:App'mainapp'沒有遷移' – Ratnanil

+0

@Ratnanil我想我已經錯過了一步。您可能需要重命名您的'django_migrations'表 –

+0

僞造現在可以使用的遷移,但仍會顯示錯誤「ComandError:App ...」。你有什麼想法,爲什麼? – Ratnanil