2011-02-10 7 views
5

que estoy experimentando el mismo problema que con: django - "manage.py test" fails "table already exists"mesa de Django Sur ya existe

El schemamigration/migración funcionaba bien (aunque no tienen algunos problemas que me requieren para --fake, pero todas las migraciones posteriores con el trabajo al sur) Pero cuando corro una prueba de unidad consigo:

(1050, "Table '{tablename}' already exists") 

Tengo curiosidad de cómo puedo conseguir alrededor de esto, y por qué sucede esto. La única respuesta dada en la pregunta vinculada anteriormente fue que South podría excluirse de las pruebas unitarias, si hago esto ¿significa que no puedo probar la unidad con tablas manejadas por el sur?

Explicaciones muy apreciados :)

Adam

Respuesta

8

No, eso no quiere decir eso. No olvide que Django ya sabe cómo deberían verse sus tablas si las crea desde cero ahora - solo usa las definiciones del modelo. South es útil porque te permite transformar fácilmente la estructura de tu tabla cuando cambias tus modelos, pero cuando estás ejecutando pruebas no te importa: solo quieres que las pruebas se ejecuten en las versiones actuales de las tablas.

Así que sí, deshabilite South al ejecutar pruebas, a través de SOUTH_TESTS_MIGRATE = False, y Django creará automáticamente las tablas para usted.

+0

Saludos otro concepto django (me estoy moviendo de php) que has aclarado en mi cerebro fuddled – null

Cuestiones relacionadas