2012-08-09 3 views
2

Je transfère une installation Sentry existante vers une nouvelle machine, de sorte que ma base de données n'est pas propre (c'est-à-dire qu'elle est restaurée à partir d'une sauvegarde de l'ancienne).Erreur de mise à niveau Sentry

Quand je lance $ sentry upgrade, je reçois l'erreur:

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

migration django tente de créer une table qui existe déjà dans la base de données cible. Avez-vous peut-être restauré la base de données directement, puis exécutez un processus qui tenterait de la migrer, provoquant ainsi cette collision? – kgrittn

Répondre

3

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

Apparemment, kombu a récemment ajouté le support pour le Sud, et qui provoque cette erreur parce que votre exécutant une version d'avant il utilisé Sud.

La solution consiste à exécuter simplement:

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

Merci. Je suppose que, après la fausse migration, je devrais exécuter la commande de mise à niveau à nouveau non? – john2x

+0

Oui, cela le fait juste ignorer la migration. Vous devez toujours mettre à niveau. –

Questions connexes