Django 1.7使迁移冻结/挂起

2024-05-28 19:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我终于从django1.6升级到1.7,并在这个过程中删除了South。我遵循official Django instructions并删除了所有旧的编号迁移。现在我尝试运行python manage.py makemigrations以使新的迁移继续向前推进1.7的迁移模块,但它完全挂起,我得到的唯一输出是:

bash -cl "/Users/me/.virtualenvs/mysite-Dj17/bin/python /Applications/PyCharm.app/Contents/helpers/pycharm/django_manage.py makemigrations /Users/me/Coding/mysite"
/Users/me/.virtualenvs/mysite-Dj17/lib/python2.7/site-packages/django/test/_doctest.py:59: RemovedInDjango18Warning: The django.test._doctest module is deprecated; use the doctest module from the Python standard library instead.
  RemovedInDjango18Warning)

/Users/me/.virtualenvs/mysite-Dj17/lib/python2.7/site-packages/django/test/simple.py:27: RemovedInDjango18Warning: The django.test.simple module and DjangoTestSuiteRunner are deprecated; use django.test.runner.DiscoverRunner instead.
  RemovedInDjango18Warning)

即使我把它放了几个小时,什么也没发生。在

这是怎么回事?如何调试管理.py指挥部?在

更新:

按照dtrussper@WilfredHughes的建议运行后,我得到以下输出(顶部的输出被剪裁,因为StackOverflow太长):

^{pr2}$

更新: 根据下面的注释和答案,我尝试完全关闭并重新启动Postgres以确保没有打开的连接,makemigrations仍然挂起。然而,我注意到的是,如果我让Postgres完全关闭(通过尝试$ psql而没有得到响应)然后尝试makemigrations,我也会有同样的行为。在


Tags: djangopytestmanagelibsitevirtualenvsusers
3条回答

您应该尝试禁用所有已安装的应用程序,看看是否可以解决问题。如果是这样的话,就隔离引起问题的那个。然后设置调试跟踪。在

您要迁移的数据库是否有打开的连接?如果是这样,这可能就是迁移挂起的原因。有关详细信息,请参见this south bug。我意识到django1.7没有使用south,而且bug专门指的是south。迁移是直接在django1.7中构建的,但是由于other people也有同样的问题,我担心这个问题仍然存在。在

django1.7有一个很明显的缺陷,它可以导致足够多的模型迁移到异常。他们说他们正在对此做些什么,似乎他们已经在1.7.1中修复了这个问题。在

https://docs.djangoproject.com/en/1.7/releases/1.7.1/

这是第三个条目,还有一些改进可能与此相关。在

在这个演讲中首先听到它,希望它能解决您的问题:https://www.youtube.com/watch?v=bjIXZ-XX2SM

相关问题 更多 >

    热门问题