2014-05-05 35 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 –