【发布时间】:2013-02-04 19:45:54
【问题描述】:
背景: 将 djangoatings 添加到我的项目后,我尝试运行
django-admin.py schemamigration djangoratings --initial
--settings=myapp.settings.local
导致架构迁移出现未知命令错误。 我试图通过将我的项目目录添加到 PYTHONPATH 来解决这个错误(我正在使用 virtualenv 和 virtualenvwrapper)。 这解决了 schemamigration 的未知命令错误,但我认为我在项目目录上方为 PYTHONPATH 指定了一个目录,并且当为 djangoratings 运行初始迁移时,它抱怨与 whoosh (我在我的项目中使用)有关.我更改了 PYTHONPATH 目录并尝试运行
django-admin.py schemamigration djangoratings --initial
--settings=myapp.settings.local
再次。然后我运行了迁移命令。这是我收到错误的时候:
django.db.utils.DatabaseError: relation "djangoratings_vote" already exists
我尝试使用以下方式一直迁移回来:
django-admin.py migrate djangoratings zero --settings=myapp.settings.local
Running migrations for djangoratings:
- Migrating backwards to zero state.
< djangoratings:0006_add_cookies
< djangoratings:0005_add_exclusions
< djangoratings:0004_rethink_recommendations
< djangoratings:0003_add_correlations
< djangoratings:0002_add_mean_and_stddev
< djangoratings:0001_initial
然后再次运行--initial,但执行迁移命令后出现同样的错误。
我查看了数据库中的表列表,但没有看到任何 djangoratings_vote。
我当前的 djangoatings 迁移列表如下:
0001_initial.py 0006_add_cookies.py
0001_initial.pyc 0006_add_cookies.pyc
0002_add_mean_and_stddev.py 0007_initial.py
0002_add_mean_and_stddev.pyc 0007_initial.pyc
0003_add_correlations.py 0008_initial.py
0003_add_correlations.pyc 0008_initial.pyc
0004_rethink_recommendations.py 0009_initial.py
0004_rethink_recommendations.pyc 0009_initial.pyc
0005_add_exclusions.py __init__.py
0005_add_exclusions.pyc __init__.pyc
如何解决“djangoratings_vote”关系已存在错误?最好使用南?
【问题讨论】:
标签: django migration django-south