2010-08-04 14 views
6

Django und Süden Neuling hierÄndern der Codierung einer Tabelle mit django + Süd-Migrationen

Ich brauche die Codierung einer Tabelle zu ändern, die ich erstellt, weiß jemand einen Weg, dies zu tun, um eine Migration mit?

+0

Versuchen Sie, die Codierung nur einer Tabelle oder der gesamten Datenbank zu ändern? Welche Datenbank verwendest du? –

+0

nur ein Tisch. Ich benutze mysql –

Antwort

6

Ich denke, dass die Lösung datenbankspezifisch sein wird. Zum Beispiel für eine MySQL-Datenbank:

from south.db import db 
from south.v2 import SchemaMigration 

class Migration(SchemaMigration): 
    def forwards(self, orm): 
     db.execute('alter table appname_modelname charset=utf8') 
     db.execute('alter table appname_modelname alter column fieldname charset=utf8') 
     # et cetera for any other char or text columns 

    def backwards(self, orm): 
     db.execute('alter table appname_modelname charset=latin1') 
     db.execute('alter table appname_modelname alter column fieldname charset=latin1') 
     # et cetera for any other char or text columns 

    complete_apps = ['appname'] 
+1

Hallo, vielen Dank, ich teste jetzt Ihren Vorschlag. Ich frage mich, gibt es eine Möglichkeit, dies mit manage.py Schemamigration - Auto zu tun? (d. h. nur die Modelle ändern) –

Verwandte Themen