2014-05-05 37 views
2

最近,我從Linux Mint遷移到Ubuntu,將我的項目代碼上傳到Github,再次下載並嘗試繼續開發。但是我有一個南一個問題:通常Django,重置South migrations

我試圖遷移的應用程序(許多應用程序):

manage.py schemamigration應用程式--auto,

但我得到:

「你不能在沒有遷移的應用上使用--auto,請嘗試 - 初始化。「

然後我嘗試「--initial」,

但是,當我遷移應用程序「$ ./manage.py遷移應用程序」,我得到:

「這些移民是在數據庫中,但不盤面上:

...(全部遷移過來人,他們不知道如何結束了那裏)

我不相信自己;或者通過與south_migrationhistory表擺弄 解決這個問題你自己,或傳遞--delete-ghost-migrations 要刪除所有這些記錄(這可能不太好)。「

我不在乎保持遷移,所以我試過python manage.py --delete-ghost-migrations,但我得到了「未知命令」。

然後我嘗試正在重置遷移this後建議的方式,所以我所做的:

$蟒蛇manage.py復位南

但我得到「未知命令」一次。

¿我該如何解決這個問題,以便我可以繼續在我的項目上工作?對不起,如果它是明顯的。

*當我在Linux Mint上工作時,我使用了Mysql,現在在Ubuntu上我安裝了Postgre。這可能與錯誤原因沒有任何關係,因爲我認爲它是正確的,並且使用我的django項目進行了正確配置。但是,如果解決方案需要一些數據庫操作,也許你應該知道它。提前致謝。

回答

4

使用下面的命令來清除數據庫:

./manage.py sqlclear south | ./manage.py dbshell 

然後確保刪除遷移目錄中的應用,充分復位南:

rm [app_name]/migrations 
+0

這個工作,但由於與Windows的問題/ sqlite3/virtualenv/python我必須手動下載sqlite-shell-win32並將該exe文件放在我的項目目錄中。謝謝! https://sqlite.org/download.html –