2012-08-09 103 views
2

我正在将现有的Sentry安装传输到新机器,因此我的数据库不干净(即刚刚从旧机器的备份中恢复)。哨兵升级错误

当我运行$ sentry upgrade,我得到的错误:

Running migrations for django: 
- Migrating forwards to 0001_initial. 
> django:0001_initial 
FATAL ERROR - The following SQL query failed: CREATE TABLE "djkombu_queue" ("id" serial NOT NULL PRIMARY KEY, "name" varchar(200) NOT NULL UNIQUE); 
The error was: relation "djkombu_queue" already exists 

Error in migration: django:0001_initial 

# Traceback... 

django.db.utils.DatabaseError: relation "djkombu_queue" already exists 
+0

Django的移民试图创建一个已经存在于目标数据库中的表。你是否可能直接恢复数据库,然后运行一个试图迁移它的进程,从而导致这种冲突? – kgrittn 2012-08-09 14:54:54

回答

3

参见:http://sentry.readthedocs.org/en/latest/upgrading/index.html#conflicts-with-kombu-transport-django

显然海带最近增加了对南方,导致此错误,因为你从它使用之前运行的版本南。

解决方案是简单地运行:

sentry migrate kombu.transport.django 0001 --fake 
+0

谢谢。假设在伪迁移后,我应该再次运行升级命令了吗? – john2x 2012-08-10 09:05:52

+0

是的,这只是让它忽略了迁移。你仍然需要升级。 – 2012-08-10 14:18:54