使用django + south迁移更改表的编码

时间:2010-08-04 10:45:53

标签: python django django-south

Django和南方新手

我需要更改我创建的表的编码,是否有人知道使用迁移的方法?

1 个答案:

答案 0 :(得分:7)

我认为解决方案将是特定于数据库的。例如,对于MySQL数据库:

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']