[pyar] South non me reconoce un cambio

Maxi maxirobaina en gmail.com
Mar Abr 10 13:35:06 ART 2012


El día 10 de abril de 2012 11:05, Felipe Lerena
<felipelerena en gmail.com> escribió:
> On 04/10/2012 10:36 AM, Sebastian Bassi wrote:
>
> Hola, estoy probando South Django para cambiar automaticamente el tamaño de
> un campo, pero cuando lo ejecuto me lo ignora completamente:
>
> (v1.1)sebastianbassi en dell:~/dev/vost/$ ./bin/project-content schemamigration
> metadata --auto
> Nothing seems to have changed.
>
> El cambio es de este tipo:
>
> papers = models.CharField(_('papers'), max_length=255, null=True,
> blank=True)
>
> a
>
> papers = models.CharField(_('papers'), max_length=2048, null=True,
> blank=True)
>
>
> ¿Que puede estar pasando?
>
> No, south no reconoce ese tipo de cambios. No estoy seguro de si es por spec
> o tiene que ver con la cantidad de motores que podes tenes y que todos
> implementan eso de manera diferente. ese cambio lo tenes que hacer creando
> una migration a mano y corriendo un script que cambie la DB si es necesario.
>
> el "--auto" de south es para las cosas simples... no hace magia

Si reconoce esos cambios, es decir, si en south el engine en cuestion
implementa esa funcionalidad esto funciona perfectamente.
De hecho, lo acabo de probar (con firebird) y me genera perfectamente
la migración.

class Migration(SchemaMigration):

    def forwards(self, orm):

        # Changing field 'Alfabetizacion.nivel'
        db.alter_column('alfabetizacion', 'nivel',
self.gf('django.db.models.fields.CharField')(max_length=50))

    def backwards(self, orm):

        # Changing field 'Alfabetizacion.nivel'
        db.alter_column('alfabetizacion', 'nivel',
self.gf('django.db.models.fields.CharField')(max_length=40))



Por eso preguntaba con que motor de base de datos, porque puede ser
que el mismo no lo contemple y en ese caso el flujo vaya por la parte
"genérica" o que sea un bug. Pero esto, creo, es un cambio sencillo
para south.

Saludos.
---
Maxi



More information about the pyar mailing list