2012-03-08 32 views
10

"Sur" es la herramienta que automatiza las migraciones de bases de datos para Django.Django sur: cómo abandonar una migración errónea (y fallida)

¿Cómo puedo "abandonar" o "eliminar" una migración pendiente de django south? Cometí un error y le pedí brevemente a django que hiciera una restricción imposible. Yo por lo tanto no puede conseguir a paso pasado 09 para llegar al paso 10:

# python2.7 manage.py migrate --list 

django_authopenid 
    (*) 0001_initial 
... 

mymodule 
    (*) 0001_initial 
    (*) 0008_auto__add_mystuff__chg_field_facetanswer_answer_note__del_field_facetq 
    ... 
    () 0009_auto__add_module_redit__add_unique_mystuff_who__chg_field_product_desc 
    () 0010_auto__del_unique_mystuff_who 

si simplemente podía abandonar a paso 09 y 10, podía correr 'python2.7 manage.py schemamigration --auto' una y otra marcha y funcionando. ¿Cómo puedo superar el error? Podría comentar las líneas 'imposibles' en el archivo python de migration 08, pero pude ver que eso causaba problemas.

relacionada pero no del todo en el punto es What's the recommended approach to resetting migration history using Django South?

Respuesta

11

* No hay alrededor de 0009 y 0010 schemamigration, lo que significa que no se han aplicado. Simplemente puede eliminarlos ya que no significan nada para la base de datos en este momento.

p.s. Para asegurarse de que abra su base de datos y ver si hay nuevos cambios

+0

Para aclarar esto: Después de asegurarse que estos pasos no aparecen en south_migrationhistory en el PP, entra en el directorio de las migraciones y eliminar archivos * 0009_auto__add_module_redit__add_unique_mystuff_who__chg_field_product_desc.py y 0010_auto__del_unique_mystuff_who .py * –

+0

¡ERES IMPRESIONANTE! De hecho, los dejé de lado y les pedí que hicieran migraciones de nuevo. ¡¡TAN FÁCIL!! –

Cuestiones relacionadas